我经常收到30多封带有嵌套PDF文件的电子邮件。我需要一个VBA代码,它将所有嵌套的PDF文件复制到Outlook外部的文件夹中。有人可以向我指出正确的方向。
示例:
Main Email
Attached email
PDF attachment
Attached email
PDF attachment
Attached email
PDF attachment
Attached email
PDF attachment
Etc...
如何通过一次操作将所有嵌套的PDF复制到Outlook外部的文件夹中?
预先感谢您的指导。
答案 0 :(得分:0)
Outlook不允许您直接访问嵌入式邮件附件-您需要先使用Attachment.SaveAsFile
保存它们,然后使用Namespace.OpenSharedItem
打开MSG文件。
如果可以选择使用Redemption(我是作者),它将公开RDOAttachment。EmbeddedMsg
属性,该属性将嵌入式邮件附件作为RDOMail对象返回:
set OutlookMsg = Application.ActiveExplorer.Selection(1)
set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set msg = Session.GetRDOObjectFromOutlookObject(OutlookMsg)
ProcessMessage(msg)
sub ProcessMessage(msg)
for each attach in msg.Attachments
if attach.Type = olEmbeddedItem Then
ProcessMessage(attach.EmbeddedMsg)
elseif attach.Type = olByValue Then
attach.SaveAsFile "c:\temp\" & attach.FileName
End If
next
end sub