0

OfficeアドインでVB.netを使用して、SQLサーバーから取得したバイナリデータを添付ファイルとして電子メールに添付しようとしています。

ファイル パスとファイル名を指定した場合は添付ファイルを追加できますが、バイナリ データを指定した場合は添付ファイルを追加できません。以下にサンプル コードを示します。

Dim ms as System.IO.MemoryStream
'binaryData is retrieved from SQL server
'binaryData is a docx file stored in SQL server
ms = New System.IO.MemoryStream(binaryData)  

Dim att as New System.Net.Mail.Attachment(ms, System.Net.Mime.MediaTypeNames.Text.Plain)

mailItem.Attachments.Add(ms)  'mailItemm is Microsoft.Office.Interio.Outlook.MailItem

エラーが発生しています

COMException was unhandled by user code
Member not found. (Exception from HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND))

私は使っている:

Visual Studio 2010
.Net 4.0
Microsoft Outlook 2010

ありがとう。

4

2 に答える 2

1

作成したばかりのアタッチメントではなく、メモリストリームをアタッチしようとしているようです。この行を変更してみてください:

mailItem.Attachments.Add(ms) 

これに:

mailItem.Attachments.Add(att) 
于 2012-07-03T07:27:29.660 に答える
0

最後に、バイナリデータをusers tempフォルダー内のファイルに保存し、ファイルを添付してから、tempフォルダーからファイルを削除しました。その方が簡単です。ありがとう。

于 2012-07-06T03:40:37.487 に答える