3

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

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())
}

これにより、「受信トレイ」フォルダに移動します。受信トレイフォルダと同じレベルのフォルダにアクセスしようとしています。GetSharedDefaultFolderの代わりにGetFolderFromIDを使用する必要があると思いますが、使用方法がわかりません。すべてのトップレベルフォルダを反復処理する方法はありますか?フォルダのEntryIDとStoreIDを確認するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

5

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

于 2008-09-16T21:13:41.393 に答える