Get reference to additional Inbox Get reference to additional Inbox vba vba

Get reference to additional Inbox


Something like this should do the trick

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

This link has some useful code for handling different Inboxes - it may be of interest


Dim olNS As NameSpaceDim InputFolder As Outlook.MAPIFolderSet olNS = Outlook.Application.GetNamespace("MAPI")' Get reference to folder in users Mailbox for InputSet InputFolder = olNS.Folders("Procurement, Request").Folders("Inbox")' all the emails in the shared inbox are represented by:InputFolder.Items


Use Namespace.GetSharedDefaultFolder. It will work even if the mailbox is not opened in the current profile. You still need to have the right to open the mailbox and access the folder in question of course:

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

If you need to open the other user's mailbox (with all off its folders), you can use Redemption and its RDOSession.GetSharedMailbox method:

 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