Получить ссылку на дополнительный почтовый ящик - PullRequest
20 голосов
/ 31 января 2012

Я использую Outlook 2007 - и мой основной почтовый ящик: Tait, Mark

Я также добавил еще один почтовый ящик в свой профиль: Закупки, Запрос

Обе папки отображаются в Outlook как папки верхнего уровня:

Почтовый ящик - Таит, Марк> История разговоров
Товары
-Drafts
-Inbox
- нежелательная почта

Почтовый ящик - Закупки, Запрос
- История разговоров
- Удаленные товары
--Drafts
--Inbox
- нежелательная почта

Я могу получить ссылку на мой почтовый ящик по умолчанию (Tait, Mark), используя:
Set Inbox = ns.GetDefaultFolder(olFolderInbox)

Как получить ссылку на Входящие в почтовом ящике «Заготовка, Запрос»?

Ответы [ 3 ]

18 голосов
/ 31 января 2012

Нечто подобное должно сработать

Dim objNS As Outlook.NameSpace
Dim objFolder As Outlook.MAPIFolder
Set objNS = GetNamespace("MAPI")
Set objFolder = objNS.Folders("Procurement, Request")
Set objFolder = objFolder.Folders("Inbox")

Эта ссылка содержит некоторый полезный код для обработки различных входящих сообщений - это может представлять интерес

6 голосов
/ 26 февраля 2016
Dim olNS As NameSpace
Dim InputFolder As Outlook.MAPIFolder
Set olNS = Outlook.Application.GetNamespace("MAPI")

' Get reference to folder in users Mailbox for Input
Set InputFolder = olNS.Folders("Procurement, Request").Folders("Inbox")

' all the emails in the shared inbox are represented by:
InputFolder.Items
4 голосов
/ 04 сентября 2015

Используйте Namespace.GetSharedDefaultFolder. Это будет работать, даже если почтовый ящик не открыт в текущем профиле. Вам все еще нужно иметь право открыть почтовый ящик и, конечно, получить доступ к соответствующей папке:

Set vNamespace = Application.GetNamespace("MAPI")
set vRecipient = vNamespace.CreateRecipient("Procurement, Request")
if vRecipient.Resolve Then
  set vFolder = vNamespace.GetSharedDefaultFolder(vRecipient, olFolderInbox)
End If

Если вам нужно открыть почтовый ящик другого пользователя (со всеми его папками), вы можете использовать Погашение и его RDOSession .GetSharedMailbox метод:

 set Session = CreateObject("Redemption.RDOSession")
 Session.MAPIOBJECT = Application.Session.MAPIOBJECT
 set Store = Session.GetSharedMailbox("Procurement, Request")
 set vFolder = Store.GetDefaultFolder(olFolderInbox)
 MsgBox "The address of the mailbox owner: " & Store.Owner.Address
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...