Перечисление папок
В этом примере показано, как перечислять папки путем итерации по коллекциям папок.
Пример
Примечание.
Приведенный ниже пример кода представляет собой фрагмент из книги Программирование приложений для 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);
}
}
}