将自定义文件夹添加到组,并在默认情况下以覆盖模式显示该文件夹

可以使用 NavigationGroup 对象的 NavigationFolders 集合的 Add 方法,将自定义导航文件夹添加到 Microsoft Outlook 中的导航组Add 方法接受与自定义导航文件夹关联的 Folder 对象引用。

如果自定义导航文件夹与日历文件夹相关联,则还可以使用 NavigationFolder 对象的 IsSideBySide 属性来确定自定义导航文件夹的内容是并行显示还是以覆盖模式显示。

下面的示例为公司活动新建一个日历文件夹,为该文件夹添加一个自定义导航文件夹,并配置该自定义导航文件夹,使它在默认情况下以重叠模式显示。

本示例执行下列操作:

  1. 本示例使用 NameSpace 对象的 GetDefaultFolder 方法来获取对当前用户的 "日历" 默认文件夹的 Folder 对象引用。

  2. 然后,本示例在默认 "日历" 文件夹的 Folders 集合中新建一个名为"Company Events"的 Folder 对象,表示新的日历文件夹。

  3. 然后,本示例获取对活动浏览器的 NavigationPane 对象的引用,并使用 NavigationModules 集合的 GetNavigationModule 方法来获取 CalendarModule 对象引用。

  4. 然后,它使用 CalendarModuleNavigationGroups 集合的 GetDefaultNavigationGroup 方法获取对“我的日历”导航组的 NavigationGroup 对象引用。

  5. 接下来,本示例使用该导航组的 NavigationGroups 集合的 Add 方法,将新的 NavigationFolder 对象(基于本示例先前创建的 Folder 对象)添加到该导航组。

  6. 然后,该示例将 NavigationPane 对象的 CurrentModule 属性设置为 CalendarModule 对象引用,以确保日历导航模块当前显示在导航窗格中。

  7. 最后,本示例配置导航文件夹:

    • 本示例将 IsSelected 属性设置为 True 以便在活动浏览器中显示它。
  • 然后,本示例将 IsSideBySide 属性设置为 False 以便默认情况下以重叠模式显示它。
Private Sub CreateCompanyEventsFolder() 
 Dim objNamespace As NameSpace 
 Dim objCalendar As Folder 
 Dim objFolder As Folder 
 
 Dim objPane As NavigationPane 
 Dim objModule As CalendarModule 
 Dim objGroup As NavigationGroup 
 Dim objNavFolder As NavigationFolder 
 
 On Error GoTo ErrRoutine 
 
 ' First, retrieve the default calendar folder. 
 Set objNamespace = Application.GetNamespace("MAPI") 
 Set objCalendar = objNamespace.GetDefaultFolder(olFolderCalendar) 
 
 ' Create a new calendar folder named "Company Events". 
 Set objFolder = objCalendar.Folders.Add("Company Events", olFolderCalendar) 
 
 ' Get the NavigationPane object for the 
 ' currently displayed Explorer object. 
 Set objPane = Application.ActiveExplorer.NavigationPane 
 
 ' Get the calendar module from the Navigation Pane. 
 Set objModule = objPane.Modules.GetNavigationModule(olModuleCalendar) 
 
 ' Get the "My Calendars" navigation group from the 
 ' calendar module. 
 With objModule.NavigationGroups 
 Set objGroup = .GetDefaultNavigationGroup(olMyFoldersGroup) 
 End With 
 
 ' Add a new navigation folder for the "Company Events" 
 ' folder in the "My Calendars" navigation group. 
 Set objNavFolder = objGroup.NavigationFolders.Add(objFolder) 
 
 ' Set the navigation folder to be displayed in overlay mode 
 ' by default. The IsSelected property can't be set to True 
 ' unless the CalendarModule object is the current module 
 ' displayed in the Navigation Pane. 
 Set objPane.CurrentModule = objModule 
 objNavFolder.IsSelected = True 
 objNavFolder.IsSideBySide = False 
 
EndRoutine: 
 On Error GoTo 0 
 
 Set objNavFolder = Nothing 
 Set objFolder = Nothing 
 Set objGroup = Nothing 
 Set objModule = Nothing 
 Set objPane = Nothing 
 Set objNamespace = Nothing 
 
 Exit Sub 
 
ErrRoutine: 
 MsgBox Err.Number & " - " & Err.Description, _ 
 vbOKOnly Or vbCritical, _ 
 "CreateCompanyEventsFolder" 
End Sub

支持和反馈

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