2016-07-25 113 views
0

我有将附件保存在特定文件夹中的宏。 它与以下代码完美结合: atmt.SaveAsFile从附件中提取附件

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

+1

您是否尝试将附加邮件保存到磁盘,然后在Outlook中打开它?您应该可以从那里保存附件。 –

回答

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 
0

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

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