9

私はかなり前からすべてのOutlookフォルダのリストを取得する方法を見つけようとしていましたが、デフォルトのフォルダ(つまり、受信トレイ、送信トレイ、送信済みアイテム、削除済みアイテムなど)のリストしか取得できません。作成した個人用またはカスタムのフォルダーがある場合はどうなりますか?たとえば、Outlookに「領収書」というフォルダを追加すると、これはデフォルトのフォルダではなく、「デフォルトのフォルダ」の下に表示されません。c#でMicrosoft.Office.Interop.Outlookを使用してこのフォルダーにアクセスするにはどうすればよいですか。

特定の新しいメッセージを任意のフォルダからスプレッドシートに自動的にダウンロードする方法を作成しようとしています。すべてのフォルダのリストを取得できる場合は、選択したフォルダからのみメッセージを取得できると考えました。

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

2 に答える 2

11

これにより、パブリックフォルダを含むOutlookのすべてのフォルダが印刷されます。

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);
         }
    }
}
于 2012-05-24T07:53:54.097 に答える
0

MSDNの「方法:フォルダを列挙する」を参照してください:http: //msdn.microsoft.com/en-us/library/ff184607.aspx

于 2013-02-15T14:34:30.550 に答える