2

ファイルから開かれた Outlook メッセージに対応するRDOMailインスタンスを作成する方法はありますか?MailItem.msg

私の通常のアプローチは、 から を取得しCurrentItemInspectorにキャストし、と の値MailItemを取得し、最後にメソッドを介してからロードすることです。EntryIDStoreIDRDOSessionGetMessageFromID

ただし、 から開かれたメッセージの場合.msgEntryIDプロパティは を返しますnull。これを回避する別の方法はありますか?代わりにメソッドを使用できるとGetMessageFromMsgFile思いますが、からメッセージのフルパスを取得するにはどうすればよいMailItemですか?

PS ソリューションは、理想的には Outlook 2003 オブジェクト モデルで動作するはずです。

4

1 に答える 1

1

ここで2つのアプローチを行うことができます...

  1. MailItemを使用してディスクに保存します_MailItem.SaveAs()。次に、を使用しますGetMessageFromMsgFile
  2. MailItemを(store) に保存しFolderて永続化し、EntryIDand を指定しStoreIDます。と を使用MailItem.Save()MailItem.Move(tempFolder)て、MSG をフォルダーに永続化します。通常、このストレージ スワップには隠しフォルダを使用します。起動時または定期的にこのスワップ フォルダーを定期的にパージする必要があります ( Outlook には長引くロックがあるため、 try/catches を使用することをお勧めします)。
于 2012-06-26T13:22:48.683 に答える