在 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

相關內容