Trabajando en algún código para marcar elementos como leídos cuando se mueven a mi carpeta 'Archivo', que está en el mismo nivel que mis carpetas predeterminadas (Bandeja de entrada, Enviados, etc.). El siguiente código fue mi prueba inicial utilizando la carpeta de elementos eliminados predeterminada. ¿Cuál es la sintaxis adecuada para poder hacer referencia a los elementos de mi carpeta Archivo?
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
Dim Ns As Outlook.NameSpace
Set Ns = Application.GetNamespace("MAPI")
Set Items = Ns.GetDefaultFolder(olFolderDeletedItems).Items
End Sub
Private Sub Items_ItemAdd(ByVal Item As Object)
Item.UnRead = False
Item.Save
End Sub
Respuesta1
Descubrí que es más fácil invocar el método PickFolder en lugar de intentar descubrir cómo hacer referencia a la carpeta Archivo. Ahora mi código funciona correctamente.
Option Explicit
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
Dim Ns As Outlook.NameSpace
Dim myFolder As Outlook.Folder
Set Ns = Application.GetNamespace("MAPI")
Set myFolder = Ns.PickFolder
Set Items = myFolder.Items
End Sub
Private Sub Items_ItemAdd(ByVal Item As Object)
Item.UnRead = False
Item.Save
End Sub