3.3 引用任何可访问商店中的任何文件夹

TestFldrChain() 演示了如何引用任何可访问商店中的任何文件夹:

Sub TestFldrChain()

  Dim Fldr As Folder

  Set Fldr = Session.Folders("A").Folders("A2"). _
                           Folders("A21").Folders("A213")

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

End Sub    

TestFldrChain():A 是商店的名称; A2 是 A 中文件夹的名称; A21 是 A2 中文件夹的名称,A213 是 A21 中文件夹的名称。

这里发生了什么?

Session 有一个属性 Folders,这是所有可访问商店的列表。

我在本教程的第 2 部分中使用的 Session.Folders(integer) 允许我在不知道他们的名字时按顺序遍历商店。Session.Folders("A") 允许我在知道其名称时访问文件夹。

Session.Folders("A") 是一个文件夹,它也有一个属性 Folders

Session.Folders("A").Folders("A2") 允许我访问商店 A 中的文件夹 A2

我可以根据需要链接尽可能多的 Folders("x") 到达任何文件夹。如果链对于一行来说太长,你可以像我一样将语句拆分为多行。

在安装中查找嵌套最深的文件夹,并用商店和文件夹的名称替换 A,A2,A21 和 A213。根据需要增加或减少链中的文件夹数量。

如果你更新并运行 TestFldrChain(),它将输出以下内容,但 A,A2 等将被你的文件夹名称替换:

A|A2|A21|A213