2008-09-16 21 views
3

Outlookメールボックス内の特定のフォルダにアクセスするためにC#コードを記述しようとしています。私は次のコードを持っています:Outlook APIを使用して特定のフォルダにアクセスする

Outlook.Application oApp = new Outlook.Application(); 
Outlook.NameSpace oNS = oApp.GetNamespace("mapi"); 
Outlook.Recipient oRecip = oNS.CreateRecipient("AccountNameHere"); 
oRecip.Resolve(); 
if (oRecip.Resolved) 
{ 
    oInbox = oNS.GetSharedDefaultFolder(oRecip, Outlook.OlDefaultFolders.olFolderInbox); 
    oInboxMsgs = oInbox.Items; 
    ItemCount = oInboxMsgs.Count; 
    Console.Writeline("There are {0] items.", ItemCount.ToString()) 
} 

これは私を "Inbox"フォルダに連れて行きます。 Inboxフォルダと同じレベルのフォルダに移動しようとしています。私はGetSholderFromIDの代わりにGetSharedDefaultFolderを使う必要があると信じていますが、それを使う方法は分かりません。トップレベルのすべてのフォルダを反復処理する方法はありますか?フォルダのEntryIDとStoreIDはどのようにして確認できますか?

ありがとうございます!

答えて

5

Outlook.NameSpaceオブジェクトのFoldersコレクションメンバーを使用できます。そうすればコレクションを繰り返し処理し、その名前でフォルダを見つけることができます。 GetFolderFromIDを使いたい場合は、OutlookSpyツールを使用して、EntryIDとStoreIDの値を取得できます。

関連する問題