2011-05-24 17 views
5

Estoy trabajando en una aplicación VBA de Outlook y necesito acceder a mi bandeja de entrada, pero parece que estoy teniendo algunos problemas. Estoy utilizando el método GetDefaultFoldder(olFolderInbox), sin embargo, tengo varias direcciones de correo electrónico configuradas y ninguna de ellas aparece en la carpeta de entrada de mi carpeta personal.Carpeta predeterminada de Outlook de acceso

Entonces mi pregunta es, ¿dónde está definida esta carpeta predeterminada? ¿Cómo puedo saber qué bandeja de entrada es la predeterminada? Sé que también existe el método GetFolderFromID, si tuviera que usar esto,

¿cómo puedo encontrar una identificación de carpetas para apuntar a ella?

Aquí está el código que estoy usando. Esto es de un tutorial en el blog de Timothy Chen Allen como se ve aquí Timothy's Blog. El código:

Sub find_unread() 
    On Error GoTo eh: 
    Dim ns As Outlook.NameSpace 
    Dim folder As MAPIFolder 
    Dim item As Object 
    Dim msg As MailItem 

    Set ns = Session.Application.GetNamespace("MAPI") 
    Set folder = ns.GetDefaultFolder(olFolderInbox) 

    For Each item In folder.Items 
     DoEvents 
     If (item.Class = olMail) And (item.UnRead) Then 
      Set msg = item 
      Debug.Print msg.SenderEmailAddress 
      msg.Display True 
     End If 
    Next 

    MsgBox "All messages in Inbox are read", vbInformation, "All Read" 
    Exit Sub 
eh: 
    MsgBox Err.Description, vbCritical, Err.Number 
End Sub 
+0

le sugerimos que publique su código real –

Respuesta

8

Puede usar la propiedad Carpetas y unir varias propiedades de Carpetas, para acceder a cualquier carpeta en el espacio de nombres. Algunos ejemplos

la bandeja de entrada (igual que GetDefaultFolder (olInbox))

ns.Folders("Personal Folders").Folders("Inbox") 

una subcarpeta de la Bandeja de entrada llamada Backup

ns.Folders("Personal Folders").Folders("Inbox").Folders("Backup") 

El OtherInbox al mismo nivel que las carpetas personales

ns.Folders("OtherInbox") 

GetDefaultFolder es bueno para acceder rápidamente a una carpeta predeterminada, pero si necesita algo g distinto del predeterminado, solo navegue por el árbol con la propiedad Carpetas del objeto NameSpace.

Cuestiones relacionadas