3.2 引用預設資料夾

TestDefaultFldr() 中,我將 Fldr 設定為預設收件箱。常量 olFolderInbox 可以被其他值替換,從而可以訪問任何預設資料夾。如果鍵入 Set Fldr = Session.GetDefaultFolder(,VB 編輯器將顯示所有可能值的下拉選單。

Sub TestDefaultFldr()

  Dim Fldr As Folder

  Set Fldr = Session.GetDefaultFolder(olFolderInbox)

  Debug.Print Join(GetFldrNames(Fldr), "|")

End Sub

在我的膝上型電腦上,TestDefaultFldr() 顯示了 Outlook data file|Inbox,令人驚訝。我寫了 GetFldrNames(Fldr) 以確保我引用的資料夾是我想要的資料夾。我訪問了預設的收件箱,發現它是空的! 儲存輸出資料檔案附帶預設安裝,我忽略了它,因為 Outlook 為我的每個電子郵件帳戶建立了一個商店。只有在發現我的空預設收件箱之後,才考慮 Outlook 如何知道我的哪個電子郵件帳戶是我想要的帳戶作為預設帳戶。在標準 Outlook 資料夾中,沒有預設值或預設值在輸出資料檔案中。有可能更改哪個收件箱是預設收件箱但我沒有調查,因為我不確定如果我更改了我的哪個電子郵件帳戶我會預設。請記住所有日曆專案,

大多數 Outlook 物件都具有 Parent 屬性。GetFldrNames(Fldr) 在嘗試訪問其父級之前記錄陣列中資料夾的名稱。它迴圈將名稱新增到陣列的末尾,直到它到達商店。商店沒有父母,因此訪問它的嘗試失敗。陣列中的名稱序列相反,然後返回給呼叫者。我使用 Join 將名字陣列轉換為可顯示的字串。