Поделиться через


Перечисление папок

В этом примере показано, как перечислять папки путем итерации по коллекциям папок.

Пример

Примечание.

Приведенный ниже пример кода представляет собой фрагмент из книги Программирование приложений для Microsoft Office Outlook 2007.

В следующем примере кода метод EnumerateFoldersInDefaultStore сначала получает корневую папку хранилища по умолчанию, используя метод GetRootFolder(). Затем для корневой папки вызывается метод EnumerateFolders. EnumerateFolders берет корневую папку и перебирает папки хранилища по умолчанию, представленного корневой папкой. EnumerateFolders сначала использует свойство Folders, чтобы получить вложенные папки объекта Folder корневой папки. Затем рекурсивно вызывается EnumerateFolders, чтобы перечислить все папки в иерархии. Наконец, EnumerateFolders записывает свойство FolderPath каждой папки Folder в прослушиватели трассировки коллекции Listeners.

Если вы используете Visual Studio для тестирования этого примера кода, сначала добавьте ссылку на компонент Microsoft Outlook 15.0 Object Library и задайте переменную Outlook при импорте пространства имен Microsoft.Office.Interop.Outlook. Инструкция using не должна находиться непосредственно перед функциями в примере кода, но ее нужно добавить перед объявлением общедоступного класса. В следующей строке кода показано, как выполнить импорт и назначение в C#.

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);
        }
    }
}               

См. также