Работаю над кодом, чтобы помечать элементы как прочитанные, когда они перемещаются в мою папку «Архив», которая находится на том же уровне, что и мои папки по умолчанию (Входящие, Отправленные и т. д.). Код ниже был моим первым тестом с использованием папки удаленных элементов по умолчанию. Каков правильный синтаксис, чтобы я мог ссылаться на элементы в моей папке Архив?
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
решение1
Обнаружил, что проще вызвать метод PickFolder, чем пытаться выяснить, как ссылаться на папку Archive. Теперь мой код функционирует правильно.
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