Поделиться через


Добавление пользовательской папки в группу и ее отображение в режиме наложения по умолчанию

Пользовательские папки навигации можно добавить в группу навигации в Microsoft Outlook с помощью метода Add коллекции NavigationFolders для объекта NavigationGroup . Метод Add принимает ссылку на объект Folder , с которым связана пользовательская папка навигации.

Если пользовательская папка навигации связана с папкой календаря, можно также использовать свойство IsSideBySide объекта NavigationFolder , чтобы определить, отображается ли содержимое настраиваемой папки навигации в режиме параллельного отображения или наложения.

В этом примере создается новая папка календаря для событий компании и добавляется настраиваемая папка навигации для новой папки, настраивая настраиваемую папку навигации так, чтобы она отображалась по умолчанию в режиме наложения.

В примере выполняются следующие действия:

  1. Пример получает ссылку на объект Folder для папки Calendar по умолчанию для текущего пользователя с помощью метода GetDefaultFolder объекта NameSpace .

  2. Затем он создает объект Folder с именем "События компании", представляющий новую папку календаря, в коллекции Папок папки календаря по умолчанию.

  3. Затем пример получает ссылку на объект NavigationPane для активного обозревателя и использует метод GetNavigationModule коллекции NavigationModule для получения ссылки на объект CalendarModule .

  4. Затем он использует метод GetDefaultNavigationGroup коллекции NavigationGroups для CalendarModule , чтобы получить ссылку на объект NavigationGroup на группу навигации "Мои календари ".

  5. Затем он добавляет новый объект NavigationFolder на основе объекта Folder , созданного ранее в примере, в группу навигации с помощью метода Add коллекции NavigationGroups для этой группы навигации.

  6. Затем пример задает для свойства CurrentModule объекта NavigationPane ссылку на объект 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 и обратная связь.