C# で Outlook アドインを開発していますが、フォルダー (受信トレイ、送信済みなど) から開かれたメールと、スタンドアロンの .msg ファイルから開かれたメールを区別するのに問題があります。
親プロパティを調べてみましたが、両方の種類の受信トレイが表示されます。
そこに何かアイデアはありますか?
/サム
プロパティを調べると、MailItem がファイル システムから開かれている場合は .EntryID プロパティが空白であり、ファイルがフォルダー内から開かれている場合は値があるように見えます。これは、そのヘルプ エントリに基づいて理にかなっています。1 つの注意点は、メッセージが新しいメッセージの場合 (つまり、フォルダーに保存されておらず、ファイル システムにも存在しない場合)、このプロパティが空白であることを期待することです。
空白値に関するヘルプから:
したがって、EntryID プロパティは、Outlook アイテムが保存または送信されるまで設定されません。
実装する前に、実験して正しく動作することを確認してください:)
それがすべて失敗すると、次のステップは複雑になる可能性があります。1 つの方法は、Outlook によって開かれたハンドルを調べることです。Process Explorerを介して (特権のないコンテキストで) それらを調べると、各メッセージのハンドルがあることがわかります。ハンドルの名前はメッセージの件名と一致し、パスはファイルのパスです。これらを列挙する 1 つの解決策は、この回答にあります。
HTH、ジェフ