WebFolder 对象

         
多个对象
WebFolder
多个对象

代表基于 Microsoft FrontPage 的站点中的文件夹。WebFolder 对象是 WebFolders 集合的成员。

注意  Folder 对象是指向 WebFolder 对象的指针。

WebFolders 集合代表指定站点中的所有文件夹。在 WebFolders 集合中,各 WebFolder 对象的索引从零开始。WebFolder 对象类似于基于目录的层次结构中的文件夹;但是 WebFolder 对象和 Web 对象之间的关系是唯一的。FrontPage 提供了在 Web 服务器上创建多个 WebEx 对象的功能。任何 WebFolder都可以代表一个 Web 站点,但并不是每个 WebFolder 都必须代表 Web 站点。站点文件夹层次结构提供了指向 Web 服务器目录中的文件夹和文件的链接。导航结构为基于 FrontPage 的各站点中的 Web 对象提供了基础结构。

使用 WebFolder 对象

使用 WebFolders(index) 可以返回单个 WebFolder 对象,其中 index 是站点文件夹项目的属性关键字。下列示例返回 WebFolders 集合中第一个站点文件夹项目的文件名。

ActiveDocument.WebFolders(0).Name

使用集合属性(例如 FilesFoldersProperties)可以返回指定项目的集合对象。下列语句返回活动站点集合中的第一个指定项目。

myFileOne = ActiveWeb.RootFolder.Files(0)
myFolderOne = ActiveWeb.RootFolder.Folders(0)
myPropertyOne = ActiveWeb.Properties("vti_author")

使用 IsExecutableIsReadableIsRoot 之类的属性可以检查文件夹的指定状态。如果要执行 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

IsExecutableIsReadableIsWriteable 属性返回有关文件夹状态的信息。下列示例说明如何设置 IsExecutableIsReadable 属性以及如何读取 IsWriteable 属性。

注意  您不能设置 IsWriteable 属性,但可以设置 WebFolder 对象的 IsExecutableIsReadable 属性。

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

使用 CopyDeleteMove 方法可以维护站点结构。下列语句将 WebFolder 对象从一个文件夹复制到另一个文件夹,在复制过程中更新链接,如果文件已经存在则强制覆盖。

myFolder.Copy("C:\My Webs\New Adventure Products", True, True)