到底什么情况才会批量收到一堆带附件的邮件还需要保存
日常工作中有许多情况是需要批量邮件收集资料的,批量发送是邮件客户端的基本功能,但批量保存多个邮件的附件很多客户端并不支持。 这就导致有的时候我们需要一个一个保存很多邮件的附件,甚为不便。 其实使用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批量保存附件