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
le sugerimos que publique su código real –