需要使用$ FILE附件,我无法访问它们

时间:2012-05-15 14:52:42

标签: attachment lotusscript richtext

我有一封收到的电子邮件(mail-in db),其中包含一个RichTextField,其中找到了“some”附件。我也发现附件不是在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类型的附件,从而使这更容易?

2 个答案:

答案 0 :(得分: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

如果您愿意,也可以without detaching

答案 1 :(得分:0)

您可以通过前面的〜。

访问$ File字段
filename$ = mailDoc.~$File(0)
Set fileObj = mailDoc.GetAttachment(filename$)
Call fileObj.ExtractFile(filename$)