枚举、显示、隐藏和定位导航窗格中的模块

Microsoft Outlook 中 NavigationPane 对象的 NavigationModules 属性提供对导航窗格包含的导航模块的访问权限。 使用 Item 方法枚举集合中包含的 NavigationModule 对象,因为 Item 方法既是 NavigationModules 集合的默认属性,也是索引器属性。 CurrentModule 属性确定当前在导航窗格中选择了哪个 NavigationModule 对象。

此外,每个 NavigationModule 对象还提供了以下几个属性,您可以使用这些属性来显示或隐藏导航窗格中的模块,或者更改模块的显示位置:

  • Visible 属性了决定是否可以在导航窗格中显示 NavigationModule 对象。

  • Position 属性决定了某个 NavigationModule 对象在导航窗格中显示时的序号位置。

NavigationPane 对象的 DisplayedModuleCount 属性确定导航窗格可以显示的可见 NavigationModule 对象的数量。 如果 NavigationModule 对象的 Visible 属性设置为 False,或者 NavigationModule 对象的 Position 属性的设置导致模块不在导航窗口可以显示的可见 NavigationModule 对象数量之内,则不会显示该模块。 Microsoft Visual Basic for Applications (VBA) 中的以下代码示例包括 MoveCurrentModuleToTopMakeAllModulesVisible 过程。 该过程MoveCurrentModuleToTop使用 NavigationPane 对象的 CurrentModule 属性检索当前选定的 NavigationModule 对象,并将该 NavigationModule 对象的 Position 属性设置为 1,使其成为导航窗格中最顶部显示的模块。 该过程MoveCurrentModuleToTop枚举 NavigationPane 对象的 Modules 集合,并将集合中包含的每个 NavigationModule 对象的 Visible 属性设置为 True。 它最终将 NavigationPane 对象的 DisplayedModuleCount 属性设置为 NavigationPane 对象的 NavigationModules 集合的 Count 属性的值,从而确保导航窗格中包含的每个导航模块对用户可见。

Private Sub MoveCurrentModuleToTop() 
 
 Dim objPane As NavigationPane 
 
 ' Get the NavigationPane object for the 
 ' currently displayed Explorer object. 
 Set objPane = Application.ActiveExplorer.NavigationPane 
 
 ' Set the Position property of the currently selected 
 ' module to 1, making it the topmost module displayed 
 ' in the Navigation Pane. 
 objPane.CurrentModule.Position = 1 
End Sub 
 
Private Sub MakeAllModulesVisible() 
 
 Dim objPane As NavigationPane 
 Dim objModule As NavigationModule 
 
 ' Get the NavigationPane object for the 
 ' currently displayed Explorer object. 
 Set objPane = Application.ActiveExplorer.NavigationPane 
 
 ' This loop enumerates through the Modules collection, 
 ' setting the Visible property of each module to True. 
 For Each objModule In objPane.Modules 
 objModule.Visible = True 
 Next 
 
 ' Set the DisplayedModuleCount property to 
 ' display all modules contained by the 
 ' Navigation Pane. 
 objPane.DisplayedModuleCount = objPane.Modules.count 
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。