Auflisten von aktiven Ordnern in der Kalenderansicht
In Microsoft Outlook können Sie die Gruppen- und Ordnerhierarchie eines Moduls im Navigationsbereich mithilfe der NavigationGroups - und NavigationFolders-Auflistungen durchlaufen. Die NavigationGroups-Auflistung des NavigationModule-Objekts enthält jede Navigationsgruppe, die in einem Navigationsmodul angezeigt wird, während die NavigationFolders-Auflistung des NavigationGroup-Objekts jeden Navigationsordner enthält, der in einer Navigationsgruppe angezeigt wird.
Wenn Sie diese Sammlungen zusammen verwenden, können Sie alle Navigationsordner für ein im Navigationsbereich angezeigtes Navigationsmodul aufzählen.
Im folgenden Beispiel werden die Navigationsordner gezählt, die zum Anzeigen im Navigationsmodul Calendar des Navigationsbereichs ausgewählt sind. Im Beispiel werden die folgenden Aktionen ausgeführt:
Im Beispiel wird zunächst eine Referenz auf das NavigationPane -Objekt für den aktiven Explorer abgerufen.
Anschließend wird mit der GetNavigationModule -Methode der NavigationModules -Sammlung eine Referenz auf das CalendarModule -Objekt aus dem NavigationPane -Objekt abgerufen.
Im Beispiel wird dann die NavigationGroups -Sammlung des CalendarModule -Objekts aufgezählt. Für jedes NavigationGroup -Objekt in der Sammlung wird im Beispiel dann die NavigationFolders -Sammlung aufgezählt.
Wenn für die IsSelected -Eigenschaft eines NavigationFolder -Objekts in der NavigationFolders -Sammlung True festgelegt ist, wird die Variable
intCounter
erhöht.Schließlich zeigt das Beispiel ein Dialogfeld an, das den Wert von
intCounter
enthält.
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
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.