Доступ к папке Outlook по умолчанию - PullRequest
5 голосов
/ 24 мая 2011

Я работаю над приложением Outlook VBA, и мне нужно получить доступ к своей папке входящих сообщений, но у меня возникли некоторые проблемы. Я использую метод GetDefaultFoldder(olFolderInbox), однако у меня настроено несколько адресов электронной почты, и ни один из них не отображается в папке «Входящие» моей личной папки.

Итак, мой вопрос: где определена эта папка по умолчанию? Как мне узнать, какой почтовый ящик является почтовым по умолчанию? Я знаю, что есть также метод GetFolderFromID, если бы я использовал это,

как найти идентификатор папки, чтобы указать на него?

Вот код, который я использую. Это из урока в блоге Тимоти Чена Аллена, как показано здесь Блог Тимоти . Код:

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 Ответ

8 голосов
/ 25 мая 2011

Вы можете использовать свойство Folders и объединить несколько свойств в папки, чтобы получить доступ к любой папке в пространстве имен.Некоторые примеры

Входящие (такие же, как GetDefaultFolder (olInbox))

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

Подпапка Входящих с именем Backup

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

Другие входящие на том же уровне, что и ЛичныеПапки

ns.Folders("OtherInbox")

GetDefaultFolder удобен для быстрого доступа к папке по умолчанию, но если вам нужно что-то отличное от значения по умолчанию, просто перейдите вниз по дереву со свойством Folders объекта NameSpace.

...