枚举文件夹

此代码示例展示了如何通过循环访问文件夹集合来枚举文件夹。

示例

注意

下面的代码示例摘录自 Microsoft Office Outlook 2007 应用程序编程

在下面的代码示例中,EnumerateFoldersInDefaultStore 先使用 GetRootFolder() 方法来获取默认存储的根文件夹。 然后,它对根文件夹调用 EnumerateFolders 方法。 EnumerateFolders 需要使用根文件夹,并浏览根文件夹所表示的默认存储的文件夹。 EnumerateFolders 先使用 Folders 属性来获取根 Folder 对象的子文件夹。 然后,此代码示例递归调用 EnumerateFolders,以枚举层次结构中的所有文件夹。 最后,EnumerateFolders 将每个 FolderFolderPath 属性写入 Listeners 集合的跟踪侦听器中。

如果使用 Visual Studio 测试此代码示例,必须先添加对 Microsoft Outlook 15.0 对象库组件的引用,并在导入 Microsoft.Office.Interop.Outlook 命名空间时指定 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);
        }
    }
}               

另请参阅