Access Outlook default folder

时光总嘲笑我的痴心妄想 提交于 2019-11-27 06:17:08

问题


I working on an Outlook VBA application and I need to access my inbox but I seem to be having some trouble. I am using the GetDefaultFoldder(olFolderInbox) method, however, I have several email addresses set up and none of them show up in my personal folder's inbox.

So my question is, where is this default folder defined? How do I know which inbox is the default one? I know there is also the GetFolderFromID method, if I were to use this,

how can I find a folders ID in order to point to it?

Here is the code I am using. This is from a tutorial on Timothy Chen Allen's blog as seen here Timothy's Blog. The code:

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

回答1:


You can use the Folders property, and string multiple Folders properties together, to get at any folder in the namespace. Some examples

The Inbox (same as GetDefaultFolder(olInbox))

ns.Folders("Personal Folders").Folders("Inbox")

A subfolder of Inbox named Backup

ns.Folders("Personal Folders").Folders("Inbox").Folders("Backup")

The OtherInbox at the same level as Personal Folders

ns.Folders("OtherInbox")

The GetDefaultFolder is good for quickly getting to a default folder, but if you need something other than the default, just navigate down the tree with the Folders property of the NameSpace object.



来源:https://stackoverflow.com/questions/6105064/access-outlook-default-folder

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!