访问Outlook默认文件夹

|| 我正在使用Outlook VBA应用程序,需要访问收件箱,但似乎遇到了一些麻烦。我正在使用
GetDefaultFoldder(olFolderInbox)
方法,但是,我设置了多个电子邮件地址,但没有一个显示在我的个人文件夹的收件箱中。 所以我的问题是,此默认文件夹在哪里定义?我怎么知道哪个是默认收件箱?我知道还有the1ѭ方法,如果我要用这个方法, 如何找到文件夹ID以便指向它? 这是我正在使用的代码。这来自Timothy Chen Allen博客上的教程,如此处所示。代码:
Sub find_unread()
    On Error GoTo eh:
    Dim ns As Outlook.NameSpace
    Dim folder As MAPIFolder
    Dim item As Object
    Dim msg As MailItem

    Set ns = Session.Application.GetNamespace(\"MAPI\")
    Set folder = ns.GetDefaultFolder(olFolderInbox)

    For Each item In folder.Items
        DoEvents
        If (item.Class = olMail) And (item.UnRead) Then
            Set msg = item
            Debug.Print msg.SenderEmailAddress
            msg.Display True
        End If
    Next

    MsgBox \"All messages in Inbox are read\", vbInformation, \"All Read\"
    Exit Sub
eh:
    MsgBox Err.Description, vbCritical, Err.Number
End Sub
    
已邀请:
您可以使用Folders属性,并将多个Folders属性串在一起,以获取命名空间中的任何文件夹。一些例子 收件箱(与GetDefaultFolder(olInbox)相同)
ns.Folders(\"Personal Folders\").Folders(\"Inbox\")
收件箱的名为“备份”的子文件夹
ns.Folders(\"Personal Folders\").Folders(\"Inbox\").Folders(\"Backup\")
OtherInbox与个人文件夹处于同一级别
ns.Folders(\"OtherInbox\")
GetDefaultFolder可用于快速访问默认文件夹,但是如果您需要默认文件夹以外的其他内容,只需使用NameSpace对象的Folders属性在树中导航即可。     

要回复问题请先登录注册