Compartilhar via


Enumerar pastas

Este exemplo mostra como enumerar pastas por iteração por meio de um conjunto de pastas.

Exemplo

Observação

O exemplo de código a seguir foi tirado do artigo Programação de aplicativos do Microsoft Office Outlook 2007.

No exemplo código a seguir, o método EnumerateFoldersInDefaultStore primeiro obtém a pasta raiz do armazenamento padrão usando o método GetRootFolder(). Ele chama o método EnumerateFolders na pasta raiz. EnumerateFolders assume uma pasta raiz e percorre as pastas do armazenamento padrão que representa a pasta raiz. EnumerateFolders primeiro usa a propriedade Folders para ter as subpastas do objeto raiz Folder. EnumerateFolders é então chamado recursivamente para enumerar todas as pastas em uma hierarquia. Por fim, EnumerateFolders grava a propriedade FolderPath de cada Folder para os ouvintes de rastreamento no conjunto Listeners.

Se usar o Visual Studio para testar este exemplo de código, adicione primeiro uma referência ao componente da biblioteca de objetos do Microsoft Outlook 15.0 e especifique a variável do Outlook quando importar o namespace Microsoft.Office.Interop.Outlook. A instruçãousing não deve ocorrer diretamente antes das funções no exemplo de código, mas deve ser adicionada antes da declaração de classe pública. The following line of code shows how to do the import and assignment in 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);
        }
    }
}               

Confira também