次の方法で共有


予定表ビューでアクティブなフォルダーを列挙する

Microsoft Outlook では、 NavigationGroups コレクションと NavigationFolders コレクションを使用して、ナビゲーション ウィンドウ内のモジュールのグループとフォルダーの階層を走査できます。 NavigationModule オブジェクトの NavigationGroups コレクションには、ナビゲーション モジュールに表示される各ナビゲーション グループが含まれますが、NavigationGroup オブジェクトの NavigationFolders コレクションには、ナビゲーション グループに表示される各ナビゲーション フォルダーが含まれています。

これらのコレクションを組み合わせて使用することにより、ナビゲーション ウィンドウに表示されるナビゲーション モジュールの各ナビゲーション フォルダーを列挙できます。

次の例では、ナビゲーション ウィンドウの予定表ナビゲーション モジュールに表示するように選択されたナビゲーション フォルダーの数をカウントします。 実行する処理は以下のとおりです。

  1. アクティブなエクスプローラーの NavigationPane オブジェクトへの参照を取得します。

  2. その後、NavigationModules コレクションの GetNavigationModule メソッドを使用して、NavigationPane オブジェクトから CalendarModule オブジェクトへの参照を取得します。

  3. 次に、CalendarModule オブジェクトの NavigationGroups コレクションを列挙します。 コレクション内の 各 NavigationGroup について、サンプルは NavigationFolders コレクションを列挙します。

  4. NavigationFolders コレクションに含まれる NavigationFolder オブジェクトの IsSelected プロパティが True に設定されている場合、変数intCounterはインクリメントされます。

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