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

时间:2013-10-02 23:18:31

标签: excel vba excel-vba outlook

我试过搜索一堆论坛但是找不到我的问题的解决方案。我承认我对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 个答案:

答案 0 :(得分:1)

我无法确定(因为我现在不在运行Outlook的计算机上,因此无法使用它),但我认为您的问题的答案可能包含在{{{ 3}}。

我认为关键在于

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

与你的陈述平行但不同

Set oOlInb = oOlns.GetDefaultFolder(olFolderInbox)

祝你好运!