将自定义文件夹添加到组,并在默认情况下以覆盖模式显示该文件夹
可以使用 NavigationGroup 对象的 NavigationFolders 集合的 Add 方法,将自定义导航文件夹添加到 Microsoft Outlook 中的导航组。 Add 方法接受与自定义导航文件夹关联的 Folder 对象引用。
如果自定义导航文件夹与日历文件夹相关联,则还可以使用 NavigationFolder 对象的 IsSideBySide 属性来确定自定义导航文件夹的内容是并行显示还是以覆盖模式显示。
下面的示例为公司活动新建一个日历文件夹,为该文件夹添加一个自定义导航文件夹,并配置该自定义导航文件夹,使它在默认情况下以重叠模式显示。
本示例执行下列操作:
本示例使用 NameSpace 对象的 GetDefaultFolder 方法来获取对当前用户的 "日历" 默认文件夹的 Folder 对象引用。
然后,本示例在默认 "日历" 文件夹的 Folders 集合中新建一个名为"Company Events"的 Folder 对象,表示新的日历文件夹。
然后,本示例获取对活动浏览器的 NavigationPane 对象的引用,并使用 NavigationModules 集合的 GetNavigationModule 方法来获取 CalendarModule 对象引用。
然后,它使用 CalendarModule 的 NavigationGroups 集合的 GetDefaultNavigationGroup 方法获取对“我的日历”导航组的 NavigationGroup 对象引用。
接下来,本示例使用该导航组的 NavigationGroups 集合的 Add 方法,将新的 NavigationFolder 对象(基于本示例先前创建的 Folder 对象)添加到该导航组。
然后,该示例将 NavigationPane 对象的 CurrentModule 属性设置为 CalendarModule 对象引用,以确保日历导航模块当前显示在导航窗格中。
最后,本示例配置导航文件夹:
- 本示例将 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。