我有用于保存特定文件夹中的附件的宏。 它与以下代码完美配合: atmt.SaveAsFile
但是,某些电子邮件包含一个包含所需文件的电子邮件附件。 我如何提取这样的二级附件?
答案 0 :(得分:0)
您可以将邮件另存为MSG文件(Attachment.SaveAsFile
),然后使用Namespace.OpenSharedItem
将其打开。
Outlook对象模型不允许您直接访问嵌入式邮件附件,而无需先将其保存到文件系统。如果使用Redemption是一个选项,则会公开RDOAttachment。EmbeddedMsg
属性(返回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