多个对象![]() ![]() ![]() |
代表基于 Microsoft FrontPage 的站点中的文件夹。WebFolder 对象是 WebFolders 集合的成员。
注意 Folder 对象是指向 WebFolder 对象的指针。
WebFolders 集合代表指定站点中的所有文件夹。在 WebFolders 集合中,各 WebFolder 对象的索引从零开始。WebFolder 对象类似于基于目录的层次结构中的文件夹;但是 WebFolder 对象和 Web 对象之间的关系是唯一的。FrontPage 提供了在 Web 服务器上创建多个 WebEx 对象的功能。任何 WebFolder都可以代表一个 Web 站点,但并不是每个 WebFolder 都必须代表 Web 站点。站点文件夹层次结构提供了指向 Web 服务器目录中的文件夹和文件的链接。导航结构为基于 FrontPage 的各站点中的 Web 对象提供了基础结构。
使用 WebFolders(index) 可以返回单个 WebFolder 对象,其中 index 是站点文件夹项目的属性关键字。下列示例返回 WebFolders 集合中第一个站点文件夹项目的文件名。
ActiveDocument.WebFolders(0).Name
使用集合属性(例如 Files、Folders、Properties)可以返回指定项目的集合对象。下列语句返回活动站点集合中的第一个指定项目。
myFileOne = ActiveWeb.RootFolder.Files(0)
myFolderOne = ActiveWeb.RootFolder.Folders(0)
myPropertyOne = ActiveWeb.Properties("vti_author")
使用 IsExecutable、IsReadable、IsRoot 之类的属性可以检查文件夹的指定状态。如果要执行 CGI 脚本,则可以将该脚本添加到文件夹中并将该文件夹的 IsExecutable 属性设为 True。如果希望别人可以浏览文件夹中的内容,则可以将 IsReadable 属性设为 True。如果要检查当前文件夹是否为根文件夹,则可以使用 IsRoot 属性。下列示例检查当前 WebFolder 对象中的文件是否可执行、是否只读或是否位于根文件夹中。
Private Sub GetFolderInfo()
Dim myWeb As WebEx
Dim myFolder As WebFolder
Dim myIsExe As Boolean
Dim myIsReadable As Boolean
Dim myIsRoot As Boolean
Set myWeb = ActiveWeb
Set myFolder = myWeb.RootFolder.Folders(1)
With myFolder
myIsExe = .IsExecutable
myIsReadable = .IsReadable
myIsRoot = .IsRoot
End With
End Sub
IsExecutable、IsReadable 和 IsWriteable 属性返回有关文件夹状态的信息。下列示例说明如何设置 IsExecutable 和 IsReadable 属性以及如何读取 IsWriteable 属性。
注意 您不能设置 IsWriteable 属性,但可以设置 WebFolder 对象的 IsExecutable 和 IsReadable 属性。
Sub FolderProperties ()
Dim myFolder As WebFolder
Set myFolder = ActiveWeb.RootFolder.Folders(0)
If myFolder.IsWritable Then
MsgBox "Folder, " & myFolder.Url & " is writable"
End If
If Not(myFolder.IsReadable) Then
MyFolder.IsReadable = True
End If
If myFolder.IsExecutable Then
MyFolder.IsExecutable = False
End If
End Sub
FrontPage 中的 Folders(或 WebFolders)有两种用途。它们既可以是帮助管理站点内容的文件夹,也可以是站点。站点下可以有多个子站点。如果查询的文件夹是站点,则 IsWeb 属性返回 True。下列示例使用 IsWeb 属性来确定文件夹是否为站点,如果是就打开它。
注意 若要运行本示例,必须有一个称为“C:\My Documents\My Webs\Rogue Cellars”(对于在 Microsoft Windows 上运行的服务器)或“C:\WINNT\Profiles\logon alias\Personal\My Webs\Rogue Cellars”(对于在 Windows NT 上运行的服务器)的站点。这两种情况下,都可以用另一个站点 URL 来代替。
Private Sub CheckFolder()
Dim myFolder As WebFolder
Set myFolder = ActiveWeb.RootFolder.Folders("Rogue Cellars")
If myFolder.IsWeb = True Then
Webs.Open myFolder.Url
End If
End Sub
使用 Url 属性可以返回当前 WebFolder 对象的 URL。下列语句返回活动站点中第八个文件夹的绝对 URL。
myUrl = ActiveWeb.RootFolder.Folders(7).Url
使用 Copy、Delete、Move 方法可以维护站点结构。下列语句将 WebFolder 对象从一个文件夹复制到另一个文件夹,在复制过程中更新链接,如果文件已经存在则强制覆盖。
myFolder.Copy("C:\My Webs\New Adventure Products", True, True)