vba - información - macro para exportar datos de outlook a excel
Obtener referencia a Inbox adicional (3)
Algo como esto debería 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 un código útil para manejar diferentes bandejas de entrada , puede ser de interés
Estoy usando Outlook 2007 y tengo mi buzón principal: Tait, Mark
También agregué otro buzón a mi perfil: Compras, Solicitud
Ambos aparecen como carpetas de nivel superior dentro de Outlook:
Buzón de correo - Tait, Mark> -Conversation History
-Objetos eliminados
-Borradores
-Bandeja de entrada
-Correo electrónico no deseadoBuzón - Aprovisionamiento, Solicitud
--Historial de conversación
--Objetos eliminados
--Borradores
--Bandeja de entrada
--Correo electrónico no deseado
Puedo obtener una referencia a mi Bandeja de entrada predeterminada (Tait, Mark) usando:
Set Inbox = ns.GetDefaultFolder(olFolderInbox)
¿Cómo obtengo una referencia a la Bandeja de entrada en el buzón "Aprovisionamiento, Solicitud"?
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
Use Namespace.GetSharedDefaultFolder
. Funcionará incluso si el buzón no se abre en el perfil actual. Todavía necesita tener el derecho de abrir el buzón y acceder 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 del otro usuario (sin todas sus carpetas), puede usar Redemption y su método 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