WebFile 对象

         
多个对象
WebFile
多个对象

代表基于 Microsoft FrontPage 的站点中的文件。WebFile 对象是 WebFiles 集合的成员。WebFiles 集合代表指定的 WebFolder 对象中的所有文件。在 WebFiles 集合中,各 WebFile 对象的索引从零开始。WebFile 对象类似于基于目录的层次结构中的文件。FrontPage 提供了在 Web 服务器上创建多个 Web 对象的功能。任何 WebFolder 都可以代表一个 Web 站点,但并不是每个 WebFolder 都必须代表 Web 站点。

使用 File 对象

使用 WebFiles(index) 可以返回单个 WebFile 对象,其中 index 是站点文件项目的索引号。下列示例返回 WebFiles 集合中第一个站点文件项目的文件名。

ActiveWeb.RootFolder.Files(0).Name

使用 File 对象可以返回有关站点上的文件的信息。下列示例返回活动站点上每个 File 对象的 NameTitleUrl 属性。

注意  若要运行本程序,必须至少打开一个站点。

Private Sub GetWebFileInfo()
    Dim myWeb As WebEx
    Dim myFiles As WebFiles
    Dim myFile As WebFile
    Dim myFileName As String
    Dim myTitle As String
    Dim myUrl As String

    Set myWeb = ActiveWeb
    Set myFiles = myWeb.RootFolder.Files

    With myWeb
        For Each myFile In myFiles
            myFileName = myFile.Name
            myTitle = myFile.Title
            myUrl = myFile.Url
        Next
    End With
End Sub

使用 IsOpen 属性可以检查文件当前是否在“网页”视图中打开。下列的示例返回指定 File 对象的 IsOpen 属性。请注意,本示例中使用 Edit 方法来打开文件。有关使用这些方法的详细信息,请参阅 Edit 方法。

注意  若要运行本程序,必须打开一个站点。

Private Sub CheckForOpenFile()
    Dim myWeb As WebEx
    Dim myFiles As WebFiles
    Dim myFile As WebFile
    Dim myFileToOpen As String
    Dim myMessage As String
    Dim myFileName As String

    Set myWeb = ActiveWeb
    Set myFiles = myWeb.RootFolder.Files

    myFileToOpen = "index.htm"
    myMessage = "This file is currently open."

    With myWeb
        For Each myFile In myFiles
            myFileName = myFile.Name
            If myFileName = myFileToOpen Then
                If myFile.IsOpen = True Then
                    MsgBox (myMessage)
                    Exit Sub
                Else
                    myFile.Edit fpPageViewNormal
                    Exit Sub
                End If
           End If
        Next
    End With
End Sub

使用 CheckinCheckoutUndoCheckout 方法可以通过站点上的版本控制来管理文件资源。下列语句签出活动站点中的第一个文件。

注意  若要运行本语句,必须安装版本控制项目。

myFileCheckedOut = ActiveWeb.RootFolder.Files(1).Checkout

与 Microsoft Visual SourceSafe 中的文件管理功能类似,FrontPage 也提供了 UndoCheckout 方法,可以用来将文件恢复到其原始状态。下列语句将文件恢复到其原始状态。

myFileCheckedOut = ActiveWeb.RootFolder.Files(1).UndoCheckout

在试图签出某文件以查看该文件当前是否签出以及由谁签出之前,可以使用 CheckedoutBy 属性。下列语句返回签出文件的用户的登录别名,如果该文件当前尚未签出,则返回空值。

myWhoCheckedOutFile = ActiveWeb.RootFolder.Files(0).CheckedoutBy

使用 Properties 属性可以返回有关站点的信息,例如 Web 服务器的类型 (vti_webServertype) 或站点是否包含搜索组件 (vti_hassearchbot)。Properties 属性返回用于维护 meta 信息的键/值对的集合。如果站点包含搜索组件,则下列语句将 True 返回给变量 mySearchBot

mySearchBot = ActiveWeb.Properties.Item("vti_hassearchbot")

使用 MetaTags 属性可以返回有关文件的 HTML 代码中所包含的 meta 标记的信息。MetaTags 属性返回 File 对象的 meta 标记集合,例如文件生成器。下列示例返回站点中每个文件的文件名和 meta 标记。

注意  若要运行本程序,必须至少打开一个站点。

Private Sub GetMetaTags()
    Dim myWeb As WebEx
    Dim myMetaTag As Variant
    Dim myFiles As WebFiles
    Dim myFile As WebFile
    Dim myMetaTags As MetaTags
    Dim myFileName As String
    Dim myMetaTagName As String

    Set myWeb = ActiveWeb
    Set myFiles = myWeb.RootFolder.Files

    With myWeb
        For Each myFile In myFiles
            Set myMetaTags = myFile.MetaTags
            For Each myMetaTag In myMetaTags
                myFileName = myFile.Name
                myMetaTagName = myMetaTag
            Next
        Next
    End With
End Sub

使用 SharedBorders 属性可以返回当前 Web 页上的共享边框,或者设置新的共享边框。下列语句返回活动站点 Files 集合中第一个文件的顶端共享边框。

myTopBorder _
    = ActiveWeb.RootFolder.Files(0).SharedBorders(fpBorderTop)

您也可以设置站点文件上的共享边框,如下列语句所示。

ActiveWeb.RootFolder.Files(0).SharedBorders(fpBorderTop) = True

使用 ThemeProperties 属性可以返回有关主题是使用鲜艳颜色还是动态图形的信息。下列示例返回所应用的主题的属性,如果指定对象尚未应用鲜艳颜色,则将鲜艳颜色添加到当前主题属性。

Private Sub CheckThemeProperties()
    Dim myFile As WebFile

    Set myFile = ActiveWeb.RootFolder.Files(0)

    If myFile.ThemeProperties(fpThemeActiveGraphics) Then
        myFile.ApplyTheme myFile.ThemeProperties(fpThemeName), myFile.ThemeProperties(fpThemePropertiesAll) + fpThemeVividColors
    Else
        myFile.ApplyTheme myFile.ThemeProperties(fpThemeName), myFile.ThemeProperties(fpThemePropertiesAll) + fpThemeActiveGraphics + fpThemeVividColors
    End If
End Sub

使用 File 方法

使用 CopyDeleteEditMoveOpen 方法可以管理站点文件。EditOpen 方法之间有一个细微的区别。使用 Edit 方法可以在 PageWindow 对象中打开和修改与 FrontPage 兼容的文件。使用 Open 方法,既可以打开与 FrontPage 兼容的文件,也可以在相关的编辑器内打开任何其他类型的文件,例如图像或文本文件。使用 Open 方法打开与 FrontPage 不兼容的文件类型时,FrontPage 不会返回文件对象。下列示例打开文件、删除文件和移动文件。

注意  若要运行本示例,必须拥有一个称为“C:\My Documents\My Webs\Rogue Cellars”(对于在 Microsoft Windows 上运行的服务器)或“C:\WINNT\Profiles\logon alias\Personal\My Webs\Rogue Cellars”(对于在 Windows NT 上运行的服务器)的站点。

Private Sub OpenFile()
    Dim myWeb As WebEx
    Dim myFile As WebFile

    Set myWeb = Webs.Open("C:\My Documents\My Webs\Rogue Cellars")
    myWeb.Activate
    Set myFile = myWeb.RootFolder.Files("index.htm")
    myFile.Open
End Sub

Private Sub DeleteFile()
    Dim myWeb As WebEx
    Dim myFile As WebFile

    Set myWeb = ActiveWeb
    Set myFile = myWeb.RootFolder.Files(0)

    myFile.Delete
End Sub

Sub MoveFile()
    Dim myWeb As WebEx
    Dim myFile As WebFile

    Set myWeb = ActiveWeb
    Set myFile = myWeb.RootFolder.Files(0)

    myFile.Move “New Filename”, True, True
End Sub