É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 :
L’exemple obtient d’abord une référence à l’objet NavigationPane pour l’explorateur actif.
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 .
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 .
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.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.