Share via


Aufzählen von Ordnern

In diesem Beispiel wird gezeigt, wie Ordner durch das Durchlaufen einer Sammlung von Ordnern aufgeführt werden.

Beispiel

Hinweis

Das folgende Codebeispiel ist ein Auszug aus Programming Applications für Microsoft Office Outlook 2007.

Im folgenden Codebeispiel wird durch die EnumerateFoldersInDefaultStore-Methode zuerst der Stammordner des Standardspeichers mithilfe der GetRootFolder()-Methode abgerufen. Dann folgt der Aufruf der EnumerateFolders-Methode über den Stammordner. EnumerateFolders übernimmt einen Stammordner und durchläuft die Ordner des Standardspeichers, den der Stammordner darstellt. EnumerateFolders verwendet zuerst die Folders-Eigenschaft zum Abrufen der Unterordner des Folder-Objekts des Stamms. EnumerateFolders wird dann rekursiv aufgerufen, um alle Ordner der Hierarchie aufzuzählen. Abschließend schreibt EnumerateFolders die FolderPath-Eigenschaft aller Folder in die Ablaufverfolgungslistener der Listeners-Sammlung.

Wenn Sie Visual Studio verwenden, um dieses Codebeispiel zu testen, müssen Sie der Microsoft Outlook 15.0-Objektbibliothekkomponente zuerst einen Verweis hinzufügen und die Outlook-Variable angeben, wenn Sie den Microsoft.Office.Interop.Outlook-Namespace importieren. Die using-Anweisung darf im Codebeispiel nicht direkt vor den Funktionen stehen, sondern muss vor der öffentlichen Class-Deklaration hinzugefügt werden. Die folgende Codezeile zeigt, wie Sie den Import und die Zuweisung in C# vornehmen.

using Outlook = Microsoft.Office.Interop.Outlook;
private void EnumerateFoldersInDefaultStore()
{
    Outlook.Folder root =
        Application.Session.
        DefaultStore.GetRootFolder() as Outlook.Folder;
    EnumerateFolders(root);
}

// Uses recursion to enumerate Outlook subfolders.
private void EnumerateFolders(Outlook.Folder folder)
{
    Outlook.Folders childFolders =
        folder.Folders;
    if (childFolders.Count > 0)
    {
        foreach (Outlook.Folder childFolder in childFolders)
        {
            // Write the folder path.
            Debug.WriteLine(childFolder.FolderPath);
            // Call EnumerateFolders using childFolder.
            EnumerateFolders(childFolder);
        }
    }
}               

Siehe auch