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 将名字数组转换为可显示的字符串。