如何使用VB.NET从Lotus Notes电子邮件中获取附件?

时间:2009-11-25 18:07:46

标签: vb.net lotus-domino lotus

我正在尝试使用EmbeddedObjects对象的NotesDocument数组从Lotus Notes电子邮件中检索附件。在我的测试中,我已经设置了一个带附件的电子邮件,我正在尝试处理它。 HasEmbedded对象的NotesDocument属性返回true,但EmbeddedObjects对象的NotesDocument数组始终为空(null)。

alt text

任何想法可能会发生在这里?为什么EmbeddedObjects数组总是什么都没有?

2 个答案:

答案 0 :(得分:1)

我认为在上一次回复中我给出了一个不正确的答案。 NotesDocument的EmbeddedObjects属性仅包括嵌入的OLE对象,而不包括文件附件。但是,NotesRichTextItem类具有embeddedObjects属性,该属性包含文件附件。因此,如果您知道将保存文件附件的“字段”的名称 - 对于使用标准模板的电子邮件,这将是“正文” - 您可以将该字段作为富文本项,然后获取文件附件从那里。这是一个示例:

m_Doc = m_View.GetFirstDocument()
Do Until m_Doc is nothing
if (m_Doc.hasItem("body")) then
    m_rt = m_Doc.GetFirstItem("Body")
        if (m_rt.Type = RICHTEXT) then   ' RICHTEXT=1
            m_objects = m_rt.embeddedObjects
            ... ' same as earlier code to extract attachments
        end if
    end if
end if

答案 1 :(得分:0)

您可以使用evaluate(“@ AttachmentNames”,doc)来获取文档中的附件列表。使用名称(evaluate返回一个数组,即使它只有一个),你可以使用doc.getAttachment来获取它。