予定表ビューでアクティブなフォルダーを列挙する
Microsoft Outlook では、 NavigationGroups コレクションと NavigationFolders コレクションを使用して、ナビゲーション ウィンドウ内のモジュールのグループとフォルダーの階層を走査できます。 NavigationModule オブジェクトの NavigationGroups コレクションには、ナビゲーション モジュールに表示される各ナビゲーション グループが含まれますが、NavigationGroup オブジェクトの NavigationFolders コレクションには、ナビゲーション グループに表示される各ナビゲーション フォルダーが含まれています。
これらのコレクションを組み合わせて使用することにより、ナビゲーション ウィンドウに表示されるナビゲーション モジュールの各ナビゲーション フォルダーを列挙できます。
次の例では、ナビゲーション ウィンドウの予定表ナビゲーション モジュールに表示するように選択されたナビゲーション フォルダーの数をカウントします。 実行する処理は以下のとおりです。
アクティブなエクスプローラーの NavigationPane オブジェクトへの参照を取得します。
その後、NavigationModules コレクションの GetNavigationModule メソッドを使用して、NavigationPane オブジェクトから CalendarModule オブジェクトへの参照を取得します。
次に、CalendarModule オブジェクトの NavigationGroups コレクションを列挙します。 コレクション内の 各 NavigationGroup について、サンプルは NavigationFolders コレクションを列挙します。
NavigationFolders コレクションに含まれる NavigationFolder オブジェクトの IsSelected プロパティが True に設定されている場合、変数
intCounter
はインクリメントされます。最後に、 の値
intCounter
を含むダイアログ ボックスが表示されます。
Dim WithEvents objPane As NavigationPane
Private Sub EnumerateActiveCalendarFolders()
Dim objModule As CalendarModule
Dim objGroup As NavigationGroup
Dim objFolder As NavigationFolder
Dim intCounter As Integer
On Error GoTo ErrRoutine
' Get the NavigationPane object for the
' currently displayed Explorer object.
Set objPane = Application.ActiveExplorer.NavigationPane
' Get the CalendarModule object, if one exists,
' for the current Navigation Pane.
Set objModule = objPane.Modules.GetNavigationModule(olModuleCalendar)
' Iterate through each NavigationGroup contained
' by the CalendarModule.
For Each objGroup In objModule.NavigationGroups
' Iterate through each NavigationFolder contained
' by the NavigationGroup.
For Each objFolder In objGroup.NavigationFolders
' Check if the folder is selected.
If objFolder.IsSelected Then
intCounter = intCounter + 1
End If
Next
Next
' Display the results.
MsgBox "There are " & intCounter & " selected calendars in the Calendar module."
EndRoutine:
On Error GoTo 0
Set objFolder = Nothing
Set objGroup = Nothing
Set objModule = Nothing
Set objPane = Nothing
intCounter = 0
Exit Sub
ErrRoutine:
MsgBox Err.Number & " - " & Err.Description, _
vbOKOnly Or vbCritical, _
"EnumerateActiveCalendarFolders"
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。