在 Outlook 2013 中引用文件夹的 VBA 语法是什么?

在 Outlook 2013 中引用文件夹的 VBA 语法是什么?

正在编写一些代码,当项目被移动到与我的默认文件夹(收件箱、已发送等)处于同一级别的“存档”文件夹中时,将它们标记为已读。以下代码是我使用默认已删除项目文件夹进行的初始测试。正确的语法是什么,以便我可以引用存档文件夹中的项目?

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

相关内容