VBA实现OUTLOOK批量保存附件

到底什么情况才会批量收到一堆带附件的邮件还需要保存

日常工作中有许多情况是需要批量邮件收集资料的,批量发送是邮件客户端的基本功能,但批量保存多个邮件的附件很多客户端并不支持。 这就导致有的时候我们需要一个一个保存很多邮件的附件,甚为不便。 其实使用VBA来调用OUTLOOK的对象只需要很少的代码就可以实现批量保存多封邮件的附件,代码如下

代码

1
2
3
4
5
6
7
8
9
10
11
12
Public Sub SaveAttachments()
Dim SaveToPath As String
Dim myitem As Outlook.MailItem
SaveToPath = InputBox("保存文件地址,最后需带", "C:\Users\Public\Documents")
Set myfolder = Application.ActiveExplorer.Selection
For Each myitem In myfolder
For Each myattachment In myitem.Attachments
myattachment.SaveAsFile SaveToPath myattachment.FileName
Next
Next
MsgBox " 所有附件都已保存到 "  SaveToPath
End Sub

使用方法及注意事项、

  • 代码块里有个默认的地址可以根据情况填写
  • 提前复制好要保存到的文件地址,最后记得加\
  • 从OUTLOOK里选中要保存附件的邮件,Ctrl或Shift多选都可以,搜索后全选也可以
  • 按Alt+F9调出宏界面点插入-模块,黏贴代码,点击F5运行
  • 待收集的文件不能有重名的,建议制作模板或填表说明时要求修改唯一的文件名
  • 代码会下载邮件内的所有附件,包括签名图片等,需要手动在保存文件夹下删除不需要的文件

Ref.

http://club.excelhome.net/thread-1192780-1-1.html

本文遵守署名-非营利性使用-相同方式共享协议,转载请保留本段:冰丝带雨 » VBA实现OUTLOOK批量保存附件

赞 (16)