在Outlook中使用收件箱以外的文件夹

时间:2018-02-12 12:21:18

标签: excel vba outlook outlook-vba

使用Excel VBA我可以从收件箱中检索电子邮件正文和主题。

Set ObjO = CreateObject("Outlook.Application")
Set olNs = ObjO.GetNamespace("MAPI")
Set objFolder = olNs.GetDefaultFolder(6)

For Each item1 In objFolder.Items

    Dim sa, bc
    bc = item1.ReceivedTime
    sa = Format(item1.ReceivedTime, "dd-MM-yyyy")

    If item1.UnRead And item1.SenderEmailAddress = "harshahowrang@gmail.com" And sa = spa Then

此处Defaultfolder(6)适用于收件箱。

所有邮件都进入CRM文件夹,因此我需要更改文件夹路径。

我尝试了其他不起作用的号码,并且没有指向Outlook邮箱中的CRM文件夹。

如何指向CRM文件夹?

enter image description here

2 个答案:

答案 0 :(得分:3)

只需使用

即可
Set objfolder = olNs.GetDefaultFolder(olFolderInbox) _
                    .Parent.Folders("CRM")

完整示例

Option Explicit
Private Sub Example()
    Dim ObjO As Object
    Set ObjO = CreateObject("Outlook.Application")

    Dim olNs As Object
    Set olNs = ObjO.GetNamespace("MAPI")

    Dim objfolder As Object
    Set objfolder = olNs.GetDefaultFolder(olFolderInbox) _
                        .Parent.Folders("CRM")

    objfolder.Display

End Sub

答案 1 :(得分:0)

你应该能够访问这样的文件夹:

Set objFolder = olNs.GetDefaultFolder(6).Folders("CRM")

否则请检查Inbox中指定的文件夹:

Set objFolder = olNs.GetDefaultFolder(6)
For Each oFolder In objFolder.Folders
    Debug.Print oFolder.Name
Next 

修改:看到您发布的图片后,

要访问与Inbox相同级别的文件夹,您可以执行以下操作:

Set objFolder = olNs.GetDefaultFolder(6).Parent.Folders("CRM")

或者遍历.Parent.Folders以获取CRM文件夹名称。