■75582 / inTopicNo.1) |
Outlookの複数の受信トレイのアイテムを取得する方法 |
□投稿者/ もちお (1回)-(2015/04/09(Thu) 13:46:41)
|
分類:[.NET 全般]
2015/04/09(Thu) 13:51:08 編集(投稿者) 2015/04/09(Thu) 13:51:06 編集(投稿者)
<pre><pre>質問内容: Outlook2010の複数の受信トレイのすべてのアイテムを取得する方法を教えて下さい。
開発環境: VisualStudio2013 C#で開発
Outlookの環境: Outlook2010であり、POPアカウントとExchangeアカウントが設定されています。
現在のコード(参考): https://msdn.microsoft.com/ja-jp/library/cc668191.aspx https://support.microsoft.com/en-us/kb/310244/ja を参考に、複数の受信トレイのアイテム取得を考慮せずに作成しました(下記参照)。 なので、当然でしょうが、1つのアカウント(Exchangeアカウント)の受信トレイのアイテムだけ取れています
--------------以下コード(抜粋)------------- Outlook.Inspectors inspectors;
private Outlook.Application olApp;
public void getMailLog() { inspectors = this.Application.Inspectors; inspectors.NewInspector += new Microsoft.Office.Interop.Outlook.InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector);
olApp = new Outlook.Application(); Outlook.NameSpace olNS = olApp.GetNamespace("MAPI"); Outlook.MAPIFolder inboxBase = olNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
//inbox、およびinboxのサブフォルダーの各アイテムから、受信時刻、From, を取得する
foreach (Outlook.Folder inbox in inboxBase.Folders) { Outlook.Items oItems = inbox.Items;
oItems.Sort("ReceivedTime");
foreach (object item in oItems) { if (item is Outlook.MailItem) { Outlook.MailItem om = (Outlook.MailItem)item; DateTime dtLRecievedTime = om.ReceivedTime; strMailAddress = om.SenderEmailAddress; } }
} }
以上、よろしくおねがいします。</pre></pre>
|
|