NavigationNode 对象

         
多个对象
NavigationNode
多个对象

代表站点导航结构中的一个节点。NavigationNode 对象是 NavigationNodes 集合的成员。在 NavigationNodes 集合中,各 NavigationNode 对象的索引是从零开始的。

要点  从 NavigationNode 对象可以访问站点中所有其他导航节点。默认情况下,RootNavigationNode 对象在每次创建站点时都会创建,它是导航结构的基础,通过 Children 属性进行访问。导航结构的第一个子节点通常是站点的主页,可以通过 HomeNavigationNode 属性来访问。但是,根导航节点的第一个子节点可以是任何网页,可能根本就不包含 HomeNavigationNode 对象。

使用 NavigationNode 对象

使用 NavigationNode 属性可以返回 NavigationNode 对象。下列示例为 WebFiles 集合的 WebFile 对象建立一个导航节点标签列表。

Private Sub GetNavigationNode()
Dim myWeb As WebEx
Dim myWebFiles As WebFiles
Dim myWebFile As WebFile
Dim myNavNodeLabel As String
Dim myLabel As String

On Error Resume Next

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

With myFiles
    For Each myFile In myFiles
        myLabel = myFile.NavigationNode.Label
        If Err <> 0 Then Exit Sub
        myNavNodeLabel = myNavNodeLabel & myLabel & vbCRLF
    Next
End With
End Sub

Children 属性返回站点导航结构中的子节点集合。下列语句返回活动站点中导航结构的子节点数。

myNavChildrenCount _
    = ActiveWeb.RootFolder.Files(0).NavigationNode.Children.Count

使用 Children(index) 可以返回单个 NavigationNode 对象,其中 index 是导航节点项目的索引号。下列语句返回 NavigationNodes 集合中第一个导航节点的文件名称。

myNavNodeName _
    = ActiveWeb.RootFolder.Files(0).NavigationNode.Children(0).File.Name

File 属性返回与 NavigationNode 对象相关联 File 对象。如果文件是打开的,下列语句将返回 True

myNavFile = ActiveWeb.RootFolder.Files(3).NavigationNode.File.IsOpen

Home 属性返回 Home 对象,该对象与当前导航节点、引用信息(例如 ChildrenFileLabelNextPrev)以及主页的其他属性相关联。下列语句返回 NavigationNode 对象 Home 属性的 URL。

myHomePageUrl _
    = ActiveWeb.RootFolder.Files(5).NavigationNode.Home.Url

您可以返回 Label 属性来设置或返回文本,该文本可以用作导航结构中的按钮或者导航栏中的文本。下列示例返回主页的标签。

myLabel = ActiveWeb.RootFolder.Files(0).NavigationNode.Label

使用 NextParentPrevUrl 属性可以返回与指定属性相关联的导航节点。下列示例返回与上一个 NavigationNode 对象相关联的 URL。

myPrevNode = ActiveWeb.RootFolder.Files(1).NavigationNode.Prev.Url

使用 Web 属性可以返回与当前导航节点相关联的 WebEx 对象。下列示例返回当前导航节点的 WebEx 对象。

myNavNodeWeb = _
    ActiveWeb.RootFolder.Files(2).NavigationNode.Web.Url

使用 Move 方法可以将导航节点从一个子节点移到另一个子节点。下列示例将导航节点移到同一站点中同级节点的子节点位置。

Private Sub MoveNavNode()
Dim myNodes As NavigationNodes
Dim myNode As NavigationNode

Set myNodes = ActiveWeb.RootNavigationNode.Children
Set myNode = myNodes(4)

myNode.Move myNodes, myNodes(2)
ActiveWeb.ApplyNavigationStructure
End Sub