显示或隐藏导航窗格
可以将 NavigationPane 对象的 IsCollapsed 属性设置为折叠或展开 Explorer 对象的导航窗格。 导航窗格的外观将根据 IsCollapsed 属性的设置以及 NavigationPane 对象的其他属性的设置相应地变化。 NavigationPane 对象的 DisplayedModuleCount 属性确定导航窗格可以显示的模块数,而每个 NavigationModule 对象的 Visible 和 Position 属性值则确定显示哪些模块以及按什么顺序显示。
将 IsCollapsed 属性设置为 True 将折叠导航窗格。 折叠后,导航窗格将仅显示每个可见导航模块的图标。
将 IsCollapsed 属性设置为 False 将展开导航窗格。 展开后,导航窗格将显示 NavigationPane 对象的 NavigationModules 集合中包含的最顶部可见模块数的图标和名称,该集合由 DisplayedModuleCount 属性指定。 其他所有可见模块将在导航窗格底部显示为图标。
例如,活动浏览器的已展开 NavigationPane 对象的 NavigationModules 集合包含八个模块。 所有模块的 Visible 属性值都为 True,除了第三个导航模块 (Module 对象的 Position 属性值设置为 3.) 如果 DisplayedModuleCount 属性设置为 4,则只有前四个可见 NavigationModule 对象的图标和名称, Position 属性值为 1, 2、4 和 5 在导航窗格中显示为大按钮。 其余三个可见 的 NavigationModule 对象(位置 6、7 和 8)仅作为图标显示在导航窗格底部的小按钮上。 如果 IsCollapsed 属性设置为 False,则折叠的导航窗格仅将前四个可见的 NavigationModule 对象显示为图标。 其余三个可见 NavigationModule 对象位于导航窗格的下拉菜单中。 下面的示例通过将 IsCollapsed 属性设置为 False,从而确保了只要当前选定的导航模块发生变化(无论通过编程方式或还是用户操作),导航窗格便始终会展开。 此示例会执行下列操作:
当引发 Application 对象的 Startup 事件并将其分配给
objPane
时,该示例首先获取对活动资源管理器的 NavigationPane 对象的引用,以便可以检测到 NavigationPane 对象的 ModuleSwitch 事件。当 NavigationPane 的 ModuleSwitch 事件发生时,该示例随后通过将 ModuleSwitch 事件的 CurrentModule 参数的内容与 NavigationPane 对象的 CurrentModule 属性进行比较来检查当前导航模块是否已更改。 如果这些对象引用不同,NavigationPane 对象的 IsCollapsed 属性将设置为 False。
Dim WithEvents objPane As NavigationPane
Private Sub Application_Startup()
' Get the NavigationPane object for the
' currently displayed Explorer object.
Set objPane = Application.ActiveExplorer.NavigationPane
End Sub
Private Sub objPane_ModuleSwitch(ByVal CurrentModule As NavigationModule)
' Check if the currently selected navigation module
' has changed.
If Not (CurrentModule Is objPane.CurrentModule) Then
' Set the IsCollapsed property to
' ensure that the Navigation Pane
' is visible.
If Not (objPane Is Nothing) Then
objPane.IsCollapsed = False
End If
End If
End Sub
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。