2012-01-31 759 views
16

estoy usando Outlook 2007 - y tienen mi principal buzón: Tait, Markreferencia a la bandeja de entrada adicional

También he añadido otro buzón al perfil: Contratación, Solicitar

Ambos aparecen como nivel superior carpetas en Outlook:

buzón - Tait, Mark> -Conversación Historia
-eliminado Artículos
-Drafts
- Bandeja de entrada
-Junk E-Mail

buzón - Contratación, Solicitar
--Conversation Historia
--Deleted Artículos
--Drafts
--Inbox
--Junk E-Mail

puedo obtener una referencia a mi bandeja de entrada por defecto (Tait, Mark) usando:
Set Inbox = ns.GetDefaultFolder(olFolderInbox)

¿Cómo obtengo una referencia a la Bandeja de entrada en el buzón "Aprovisionamiento, Solicitud"?

Respuesta

16

Algo como esto debe hacer el truco

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

Este enlace tiene algún código útil para handling different Inboxes - que puede ser de interés

+0

Muchas gracias !!! :) – Mark

+0

@MarkTait me alegro de haber ayudado :) – brettdj

+0

Esto funcionará solo si la tienda ya se agregó al perfil actual. –

3

Uso Namespace.GetSharedDefaultFolder. Funcionará incluso si el buzón no se abre en el perfil actual. Usted todavía tiene que tener el derecho de abrir el buzón y tener acceso a la carpeta en cuestión, por supuesto:

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

Si necesita abrir el buzón de otro usuario (con todos fuera de sus carpetas), puede utilizar Redemption y su RDOSession método .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 
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

Por favor explique cómo este código responde la pregunta. – JAL

Cuestiones relacionadas