Добавление пользовательской папки в группу и ее отображение в режиме наложения по умолчанию
Пользовательские папки навигации можно добавить в группу навигации в Microsoft Outlook с помощью метода Add коллекции NavigationFolders для объекта NavigationGroup . Метод Add принимает ссылку на объект Folder , с которым связана пользовательская папка навигации.
Если пользовательская папка навигации связана с папкой календаря, можно также использовать свойство IsSideBySide объекта NavigationFolder , чтобы определить, отображается ли содержимое настраиваемой папки навигации в режиме параллельного отображения или наложения.
В этом примере создается новая папка календаря для событий компании и добавляется настраиваемая папка навигации для новой папки, настраивая настраиваемую папку навигации так, чтобы она отображалась по умолчанию в режиме наложения.
В примере выполняются следующие действия:
Пример получает ссылку на объект Folder для папки Calendar по умолчанию для текущего пользователя с помощью метода GetDefaultFolder объекта NameSpace .
Затем он создает объект Folder с именем "События компании", представляющий новую папку календаря, в коллекции Папок папки календаря по умолчанию.
Затем пример получает ссылку на объект NavigationPane для активного обозревателя и использует метод GetNavigationModule коллекции NavigationModule для получения ссылки на объект CalendarModule .
Затем он использует метод GetDefaultNavigationGroup коллекции NavigationGroups для CalendarModule , чтобы получить ссылку на объект NavigationGroup на группу навигации "Мои календари ".
Затем он добавляет новый объект NavigationFolder на основе объекта Folder , созданного ранее в примере, в группу навигации с помощью метода Add коллекции NavigationGroups для этой группы навигации.
Затем пример задает для свойства CurrentModule объекта NavigationPane ссылку на объект 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 и обратная связь.