2012-01-31 18 views
16

używam Outlook 2007 - i mają mój główny skrzynki: Tait, MarkGet odniesienie do dodatkowej skrzynki odbiorczej

Dodałem także kolejną skrzynkę do mojego profilu: Zamówienia, Wnioskują

Zarówno pojawiają się jako najwyższym poziomie foldery w programie Outlook:

pocztowa - Tait, Mark> -Konwersacja Historia
-Deleted przedmioty
-Drafts
- Poczta
junk e-mail

Mailbox - Zamówienia, Wnioskują
--Conversation Historia
--Deleted Pracuj
--Drafts
--Inbox
--Junk E-Mail

mogę uzyskać odniesienie do mojego domyślnego folderu Odebrane (Tait, Mark) za pomocą:
Set Inbox = ns.GetDefaultFolder(olFolderInbox)

Jak uzyskać odwołanie do skrzynki odbiorczej w skrzynce pocztowej "Zamówienia, Żądanie"?

Odpowiedz

16

Coś takiego powinno wystarczyć

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") 

Ten link ma kilka przydatnych kod handling different Inboxes - może to być interesujące

+0

Dziękuję bardzo !!! :) – Mark

+0

@MarkTait cieszę się, że pomogłem :) – brettdj

+0

To będzie działać tylko wtedy, gdy sklep został już dodany do profilu bieżącego. –

3

Korzystanie Namespace.GetSharedDefaultFolder. Będzie działać, nawet jeśli skrzynka pocztowa nie zostanie otwarta w bieżącym profilu. Trzeba jeszcze mieć prawo, aby otworzyć skrzynkę i dostęp do folderu w kwestii przedmiotu:

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

Jeśli trzeba otworzyć skrzynkę pocztową innego użytkownika (ze wszystkimi poza jego folderach), można wykorzystać Redemption i jego RDOSession .GetSharedMailbox metoda:

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 
5
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 
+0

Proszę wyjaśnić, w jaki sposób ten kod odpowiada na pytanie. – JAL

Powiązane problemy