如何从 Excel 宏访问 Outlook 文件夹

How to access an Outlook folder from an Excel macro

我在 Excel 到 select 主 Outlook 收件箱中有 VBA 代码。我想 select 该收件箱中的任何文件夹或子文件夹。

例如,我想 select 我的主收件箱截图中的子文件夹 ALD

我在 Outlook 中有另一个电子邮件地址,其中包含文件夹和子文件夹。我想 select 这个其他电子邮件地址的任何文件夹或子文件夹。例如,我有另一个名为 xxxx@yyyy.com 的电子邮件地址和一个文件夹 aaaa 以及一个子文件夹 bbbb。我如何 select 子文件夹 bbbb?

Sub OpenOutlookFolder()
    Dim xOutlookApp As Outlook.Application
    Dim xNameSpace As Outlook.Namespace
    Dim xFolder As Outlook.Folder
    Dim xFolderType As OlDefaultFolders
    On Error Resume Next
    
    Set xOutlookApp = New Outlook.Application
    Set xNameSpace = xOutlookApp.Session
    Set xFolder = xNameSpace.GetDefaultFolder(olFolderInbox
    xFolder.Display
    Set xFolder = Nothing
    Set xNameSpace = Nothing
    Set xOutlookApp = Nothing
    Exit Sub
End Sub

大致如下:

Dim ThisNamespace As Outlook.NameSpace: Set ThisNamespace = Application.GetNamespace("MAPI")
Dim Inbox As Outlook.MAPIFolder: Set Inbox = ThisNamespace.GetDefaultFolder(olFolderInbox)

Dim BaseFolder As Outlook.MAPIFolder: Set BaseFolder = Inbox '.Folders("SubFolder1\SubFolder2...")

For direct subfolder access, uncomment within the last line and update the path

如果你想创建一个 searchable/editable 的文件夹结构,那么我对这个问题的回答可能很有趣:How can one iterate through the subfolders of a subfolder of a shared mail inbox folder?

最后,通过再次检查 link 获取对其他收件箱的引用,我设法修改了我的宏,使其按我的意愿工作。请找到以下代码:

Sub OpenOutlookFolderworks()

将 xOutlookApp 调暗为 Outlook.Application

Dim xNameSpace As Outlook.Namespace
Dim xFolder As Outlook.Folder
 Dim vRecipient As Outlook.MAPIFolder
 Dim xFolderType As OlDefaultFolders
On Error Resume Next
Set xOutlookApp = New Outlook.Application
Set xNameSpace = xOutlookApp.Session
Set xFolder = xNameSpace.GetDefaultFolder(olFolderInbox)
Set xFolder = xFolder.Folders("payment office")
Set xFolder = xFolder.Folders("JIRA")
xFolder.display
Set xFolder = Nothing
Set xNameSpace = Nothing
Exit Sub
End Sub