Get list of all Outlook folders and subfolders

末鹿安然 提交于 2019-12-29 06:14:13

问题


I have been trying to figure out how to get a list of all outlook folders for quite some time now, but can only get a list of the default folders (i.e. Inbox, outbox, sent items, deleted items, etc...). What if I have personal or custom folders that I have created? For instance, if I add a folder to outlook called "Receipts", this would not be a default folder and would not show up under the "default folders". How would I access this folder using Microsoft.Office.Interop.Outlook in c#.

I am trying to create a way to automatically download certain new messages into a spreadsheet from any given folder. I figured if I can get a list of all folders then I can only get the messages from the chosen folders.

Outlook._Folders oFolders;          
Outlook.MAPIFolder oPublicFolder = olNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolder‌​Inbox).Parent;
foreach (Outlook.MAPIFolder Folder in oFolders) 

回答1:


This should print out all the folders in your outlook including your public folders.

foreach (MAPIFolder folder in olNS.Folders)
{
    GetFolders(folder);
}

public void GetFolders(MAPIFolder folder)
{
    if (folder.Folders.Count == 0)
    {
         Console.WriteLine(folder.FullFolderPath);
    }
    else
    {
         foreach (MAPIFolder subFolder in folder.Folders)
         {
              GetFolders(subFolder);
         }
    }
}



回答2:


See on MSDN "How to: Enumerate Folders": http://msdn.microsoft.com/en-us/library/ff184607.aspx



来源:https://stackoverflow.com/questions/10423989/get-list-of-all-outlook-folders-and-subfolders

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!