Enumerar carpetas
Este ejemplo muestra cómo enumerar las carpetas mediante iteración por un conjunto de carpetas.
Ejemplo
Nota:
El siguiente ejemplo de código es un fragmento de Programming Applications for Microsoft Office Outlook 2007 (Programación de aplicaciones para Microsoft Office Outlook 2007).
En el siguiente ejemplo de código, el método EnumerateFoldersInDefaultStore obtiene primero la carpeta raíz del almacenamiento predeterminado mediante el método GetRootFolder(). Después llama al método EnumerateFolders en la carpeta raíz. EnumerateFolders toma una carpeta raíz y recorre las carpetas del almacén predeterminado que representa la carpeta raíz. EnumerateFolders primero usa la propiedad Folders para obtener las subcarpetas del objeto Folder raíz. Después se llama de forma recursiva a EnumerateFolders para enumerar todas las carpetas de una jerarquía. Por último, EnumerateFolders escribe la propiedad FolderPath de cada Folder a los agentes de escucha de seguimiento de la colección Listeners.
Si usa Visual Studio para probar este ejemplo de código, primero debe agregar una referencia al componente de la biblioteca de objetos de Microsoft Outlook 15.0 y especificar la variable de Outlook al importar el espacio de nombres Microsoft.Office.Interop.Outlook. La instrucción using no debe producirse directamente antes de las funciones en el ejemplo de código, pero debe agregarse antes de la declaración de clase pública. La siguiente línea de código muestra cómo realizar la importación y la asignación en 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);
}
}
}
Vea también
- Folders (Carpetas)