从附件中提取附件

时间:2016-07-25 15:43:39

标签: vba outlook-vba

我有用于保存特定文件夹中的附件的宏。 它与以下代码完美配合: atmt.SaveAsFile

但是,某些电子邮件包含一个包含所需文件的电子邮件附件。 我如何提取这样的二级附件?

2 个答案:

答案 0 :(得分:0)

您可以将邮件另存为MSG文件(Attachment.SaveAsFile),然后使用Namespace.OpenSharedItem将其打开。

Outlook对象模型不允许您直接访问嵌入式邮件附件,而无需先将其保存到文件系统。如果使用Redemption是一个选项,则会公开RDOAttachmentEmbeddedMsg属性(返回RDOMail对象)。通过创建RDOSession对象的实例和调用GetRDOObjectFromOutlookObject方法,可以在Redemption中重新打开Outlook消息。

答案 1 :(得分:0)

更新:谢谢大家的建议。以下作品:

For Each atmt In zMsg.Attachments 'Loop through attachments

    atmt.SaveAsFile DestPath & atmt.FileName
    Set zMsg2 = Application.CreateItemFromTemplate(DestPath & atmt.FileName)

    For Each atmt2 In zMsg2.Attachments
        atmt2.SaveAsFile DestPath & atmt2.FileName
    Next
    Set zMsg2 = Nothing
    Kill DestPath & atmt.FileName
Next