因此,我想创建一个 Excel VBA,将 Outlook 文件夹的所有附件保存到单个 Excel 文件中(所有文件将具有相同的布局,但数据不同),然后将该文件夹中的 Excel 文件合并到活动工作表中.
我已经成功将所有附件保存到一个文件夹中。但是,我未能将这些文件合并到一张纸中。你能帮忙吗?
非常感谢
对于问题的第二部分,我尝试了几种方法,但没有成功。这是我的代码的第一部分:
Option Explicit
Sub IKDISKETI()
Dim ol As Outlook.Application
Dim ns As Outlook.Namespace
Dim fol As Outlook.Folder
Dim i As Object
Dim mi As Outlook.MailItem
Dim at As Outlook.Attachment
Set ol = New Outlook.Application
Set ns = ol.GetNamespace("MAPI")
Set fol = ns.Folders(1).Folders("IKDISKET")
For Each i In fol.Items
If i.Class = olMail Then
Set mi = i
If mi.Attachments.Count > 0 Then
Debug.Print mi.SenderName, mi.ReceivedTime, mi.Attachments.Count
For Each at In mi.Attachments
Debug.Print vbTab, at.DisplayName, at.Size
at.SaveAsFile "C:\IKDISKET\" & at.Filename
Next at
End If
End If
Next i
End Sub
Option Explicit
您可以自动化 Excel 将 Excel 文件合并为一个文件。为此,您需要打开每个文件并提取所需的数据。请注意,您可以使用复制和粘贴命令更快地复制所需信息。有关如何创建新的 Excel 应用程序实例和打开文件的更多信息,请参阅早期和后期绑定 (Visual Basic)。
此外,如果您仅处理开放 XML 文档,则可以考虑使用 Open XML SDK,请参阅欢迎使用 Open XML SDK 2.5 for Office。