カスタム フォルダーをグループに追加し、既定でオーバーレイ モードで表示する

You can add custom navigation folders to a navigation group in Microsoft Outlook by using the Add method of the NavigationFolders collection for a NavigationGroup object. Add メソッドは、カスタム ナビゲーション フォルダーが関連付けられている Folder オブジェクト参照を受け入れます。

カスタム ナビゲーション フォルダーが予定表フォルダーに関連付けられている場合は、NavigationFolder オブジェクトの IsSideBySide プロパティを使用して、カスタム ナビゲーション フォルダーの内容が並べて表示されるかオーバーレイ モードで表示されるかを判断することもできます。

このサンプルは、会社の行事用に新しい予定表フォルダーを作成し、作成したフォルダーにユーザー設定ナビゲーション フォルダーを追加し、既定でユーザー設定ナビゲーション フォルダーのコンテンツが重ねて表示されるように設定します。

実行する処理は以下のとおりです。

  1. NameSpace オブジェクトの GetDefaultFolder メソッドを使用して、現在のユーザーの既定の 予定表フォルダーへの Folder オブジェクト参照を取得します。

  2. 次に、予定表の既定のフォルダーの Folders コレクションに、新しい予定表フォルダーを表す "Company Events" という名前の新しい Folder オブジェクトを作成します。

  3. アクティブなエクスプローラーの NavigationPane オブジェクトへの参照を取得し、 NavigationModules コレクションの GetNavigationModule メソッドを使用して、 CalendarModule オブジェクト参照を取得します。

  4. 次に、CalendarModuleNavigationGroups コレクションの GetDefaultNavigationGroup メソッドを使用して、My Calendars ナビゲーション グループへの NavigationGroup オブジェクト参照を取得します。

  5. 該当するナビゲーション グループの NavigationGroups コレクションの Add メソッドを使用して、このサンプルで先に作成した Folder オブジェクトに基づいて、新しい NavigationFolder オブジェクトをナビゲーション グループに追加します。

  6. 次に、NavigationPane オブジェクトの CurrentModule プロパティを CalendarModule オブジェクト参照に設定して、ナビゲーション ウィンドウに Calendar ナビゲーション モジュールが現在表示されていることを確認します。

  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 のサポートおよびフィードバックを参照してください。