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

如何使用VB.NET从Lotus Notes电子邮件中获取附件?,vb.net,lotus-domino,lotus,Vb.net,Lotus Domino,Lotus,我正在尝试使用NotesDocument对象的EmbeddedObjects数组从lotus notes电子邮件中检索附件。在我的测试中,我设置了一封带有附件的电子邮件,并正在尝试处理它。NotesDocument对象的HasEmbedded属性返回true,但是NotesDocument对象的EmbeddedObjects数组始终为空 你知道这里会发生什么吗?为什么EmbeddedObjects数组总是一无所获?我想在上次的回答中,我给出了一个有点不正确的答案。NotesDocument的E

我正在尝试使用
NotesDocument
对象的
EmbeddedObjects
数组从lotus notes电子邮件中检索附件。在我的测试中,我设置了一封带有附件的电子邮件,并正在尝试处理它。
NotesDocument
对象的
HasEmbedded
属性返回true,但是
NotesDocument
对象的
EmbeddedObjects
数组始终为空


你知道这里会发生什么吗?为什么EmbeddedObjects数组总是一无所获?

我想在上次的回答中,我给出了一个有点不正确的答案。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

我想我上次的回答有点不正确。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

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

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

感谢您的帮助!你是个救生员!谢谢你的帮助!你是个救生员!