首页 文章

使用Excel VBA搜索多收件箱环境中的特定Outlook收件箱

提问于
浏览
1

我试过搜索一堆论坛,但一直无法找到我的问题的解决方案 . 我承认我对VBA对象的理解是有限的 . 我有一个Excel VBA报告,它创建一个Outlook对象,然后扫描Outlook默认收件箱,直到找到未读的电子邮件 . 我已经让代码在我的计算机上完美运行了 . 但是,运行此计算机的计算机有两(2)个与Outlook绑定的不同电子邮件地址/收件箱(一个是个人收件箱,另一个是组收件箱) .

我用来搜索我的个人收件箱的代码是这样的(它继续搜索未读的电子邮件等等):

Application.ScreenUpdating = False
    Dim oOlAp As Object, oOlns As Object, oOlInb As Object
    Dim oOlItm As Object, oOlAtch As Object
    '~~> New File Name for the attachment
    Dim NewFileName As String
    NewFileName = "ActInv Export"
    '~~> Get Outlook instance
    Set oOlAp = GetObject(, "Outlook.application")
    Set oOlns = oOlAp.GetNamespace("MAPI")
    Set oOlInb = oOlns.GetDefaultFolder(olFolderInbox)

但是,这仅指向默认收件箱(即个人电子邮件) . 如何更改它以将对象设置为搜索群组电子邮件收件箱?

1 回答

  • 1

    我现在不能在运行Outlook的计算机上运行,因此无法使用它),但我认为你的问题的答案可能包含在this question on building a tracker for a shared Outlook mailbox的答案中 .

    我认为关键在于线

    Set f = olns.Folders("Mailbox - Name, Name")

    这与你的陈述平行但不同

    Set oOlInb = oOlns.GetDefaultFolder(olFolderInbox)

    祝好运!

相关问题