7

Microsoft.Office.Interop.Outlookメールボックスにアクセスし、特定のファイルが添付されたメッセージを検索するために C# を使用しています。添付ファイルを操作する必要があります。

現在、ファイルを新しい場所に保存し、そこからアクセスしています。このコピー プロセスの速度が低下しています。ファイルがメモリに保存されている場所からファイルにアクセスしたいのですが、Outlook.Attachment.PathNameフィールドがnullを返しています。

メッセージは Exchange サーバーに保存されています。

それらに直接アクセスすることは可能ですか、それともファイルを保存し続ける必要がありますか?

4

2 に答える 2

3

Outlook.Attachment.PathNameディスクの場所を意味します。添付ファイルはファイルです。それを操作したい場合は、ファイルのように扱う必要があります。つまり、ローカルディスクに保存する必要があります。

オブジェクトには、Outlook.Attachment実際には添付ファイルは含まれていません。添付ファイルへのリンクと、関連するメタデータが含まれています。

于 2009-10-22T16:52:09.660 に答える
3

Outlook オブジェクト モデルを介して何らかの方法でそれが可能かどうかはわかりませんが、MAPI では確実にそれが可能です。

MAPIObjectメッセージを開く必要がありますIMessage。そこから を使用するIMessage::OpenAttach()と、 が返されますIAttach
添付ファイルのサイズはPR_ATTACH_SIZEに、実際のデータは に格納されPR_ATTACH_DATA_BINます。

いつものように、償還にはおそらくこれを行う簡単な方法があります.

編集:
MAPI 経由のアクセスは、とにかく Outlook が内部的に行うことです。少なくとも Exchange キャッシュ モードを使用している場合は、かなり高速になるはずです。

于 2009-10-25T14:28:21.937 に答える