7

「いくつかの」添付ファイルが見つかったRichTextFieldを含む受信メール(mail-in db)があります。また、RTFではなくドキュメントに$FILEとして添付ファイルが見つかります。すべてのオブジェクトを処理して、別の送信メールにコピーしようとしています。以下のコードを使用して$FILEを見つけることができます。

 Dim rtiObject as NotesEmbeddedObject
 Dim rti_Email as NotesRichTextItem
 Dim obj_Email as NotesEmbeddedObject
 ForAll p in mailDoc.items
   if p.Name = "$FILE" then
     set obj_Email = mailDoc.GetAttachment(p.Values(0)) 'this will return the Name of the attachment (or file)
     set rtiObject = rti_Email.EmbedObject( EMBED_ATTACHMENT, "", obj_Email.Name) 'this is supposed to attach the file to the document's RTF
   End If
 End ForAll

このスクリプトを実行すると、$ FILEファイルが検出され、名前が返されますが、オブジェクトは返されません。そこからは何もできません。

元のドキュメントから添付ファイル/オブジェクト($ FILE)を取得し、送信メールのRTFに添付するにはどうすればよいですか?

添付ファイルをネットワークから切り離し、送信メールに添付してからネットワークから削除することを考えましたが、それは現実的ではないようです。

これを簡単にする、受信メールのこれらの$ FILEタイプの添付ファイルを処理するためのより良い方法はありますか?

4

2 に答える 2

3

オブジェクトのEmbeddedObjectsプロパティを試してください。NotesDocumentこのようなもの:

Forall obj_Email in MailDoc.EmbeddedObjects
  If obj_Email.Type = EMBED_ATTACHMENT then
    Call obj_Email.Extract(sometempdirectory$ & obj_Email.Name)
    Call rti_Email.EmbedObject(EMBED_ATTACHMENT, "", sometempdirectory$ & obj_Email.Name)
End Forall

必要に応じて、切り離さずに行うこともできます。

于 2012-05-15T15:36:21.263 に答える
0

$ Fileフィールドの前に〜を付けると、そのフィールドにアクセスできます。

filename$ = mailDoc.~$File(0)
Set fileObj = mailDoc.GetAttachment(filename$)
Call fileObj.ExtractFile(filename$)
于 2017-02-10T20:52:56.327 に答える