カスタム フォルダーをグループに追加し、既定でオーバーレイ モードで表示する
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 プロパティを使用して、カスタム ナビゲーション フォルダーの内容が並べて表示されるかオーバーレイ モードで表示されるかを判断することもできます。
このサンプルは、会社の行事用に新しい予定表フォルダーを作成し、作成したフォルダーにユーザー設定ナビゲーション フォルダーを追加し、既定でユーザー設定ナビゲーション フォルダーのコンテンツが重ねて表示されるように設定します。
実行する処理は以下のとおりです。
NameSpace オブジェクトの GetDefaultFolder メソッドを使用して、現在のユーザーの既定の 予定表フォルダーへの Folder オブジェクト参照を取得します。
次に、予定表の既定のフォルダーの Folders コレクションに、新しい予定表フォルダーを表す "Company Events" という名前の新しい Folder オブジェクトを作成します。
アクティブなエクスプローラーの NavigationPane オブジェクトへの参照を取得し、 NavigationModules コレクションの GetNavigationModule メソッドを使用して、 CalendarModule オブジェクト参照を取得します。
次に、CalendarModule の NavigationGroups コレクションの GetDefaultNavigationGroup メソッドを使用して、My Calendars ナビゲーション グループへの NavigationGroup オブジェクト参照を取得します。
該当するナビゲーション グループの NavigationGroups コレクションの Add メソッドを使用して、このサンプルで先に作成した Folder オブジェクトに基づいて、新しい NavigationFolder オブジェクトをナビゲーション グループに追加します。
次に、NavigationPane オブジェクトの CurrentModule プロパティを CalendarModule オブジェクト参照に設定して、ナビゲーション ウィンドウに Calendar ナビゲーション モジュールが現在表示されていることを確認します。
最後に、次のようにナビゲーション フォルダーを設定します。
- アクティブなエクスプローラーに表示されるように、 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 のサポートおよびフィードバックを参照してください。