Partager via


Énumérer les dossiers actifs dans l’affichage Calendrier

Dans Microsoft Outlook, vous pouvez parcourir la hiérarchie de groupes et de dossiers d’un module dans le volet de navigation à l’aide des collections NavigationGroups et NavigationFolders . La collection NavigationGroups de l’objet NavigationModule contient chaque groupe de navigation affiché dans un module de navigation, tandis que la collection NavigationFolders de l’objet NavigationGroup contient chaque dossier de navigation affiché dans un groupe de navigation.

En utilisant ces collections en combinaison, vous pouvez énumérer chaque dossier de navigation pour un module de navigation affiché dans le Volet de navigation.

L'exemple ci-dessous évalue le nombre de dossiers de navigation sélectionnés pour l'affichage dans le module de navigation Calendrier du Volet de navigation. Il permet d'effectuer les actions suivantes :

  1. L’exemple obtient d’abord une référence à l’objet NavigationPane pour l’explorateur actif.

  2. Il utilise ensuite la méthode GetNavigationModule de la collection NavigationModules pour obtenir une référence à l’objet CalendarModule à partir de l’objet NavigationPane .

  3. L’exemple énumère ensuite dans la collection NavigationGroups de l’objet CalendarModule . Pour chaque NavigationGroup de la collection, l’exemple énumère ensuite la collection NavigationFolders .

  4. Si la propriété IsSelected d’un objet NavigationFolder contenu dans la collection NavigationFolders est définie sur True, la variable intCounter est incrémentée.

  5. Enfin, l’exemple affiche une boîte de dialogue contenant la valeur de 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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.