outlook 使用 vba 自动下载邮件附件
工作上经常会需要通过邮件定期接收其它人或公司发送的附件,然后再把附件导入下游系统继续处理。我们通过 Outlook 运行 VBA 脚本,可以实现自动下载邮件包含的附件到特定的路径。实现邮件附件下载的自动化。
1. 打开 Outlook 按 Alt + F11 组合键打开 Microsoft Visual Basic for Applications 窗口。
outlook ALT+F11输入脚本
2. 点击菜单 插入 > 模块,然后再打开的模块窗口中输入下面的 VBA 代码。
1 2 3 4 5 6 7 8 |
Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem) Dim oAttachment As Outlook.Attachment Dim sSaveFolder As String sSaveFolder = "Z:\abc\" For Each oAttachment In MItem.Attachments oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName Next End Sub |
注意: 粘贴代码前需要把 sSaveFolder = "Z:\abc\"
中的路径换成你需要保存附件的路径。
3. 按 Ctrl + S 快捷键保存代码并关闭 Microsoft Visual Basic for Applications 窗口。
4. outlook页面,依次点击开始 > 规则 > 管理规则和通知:
5. 在规则和通知窗口,电子邮件规则tab页,点击新建规则,然后选择空白规则,对我接收的邮件应用规则:
6. 点击下一步,想要检测何种条件中取消所有选择框,点击下一步继续,然后再弹出的对话框中点确定(也可这里选择针对特定发件人,这里默认所有邮件)。
7. 在规则向导如何处理该邮件中选择: (1)运行脚本; (2) 点击脚本 ;(3)选择第二步增加的脚本并点击确认;点击下一步
注意:找不到运行脚本选项看文末解决办法。
8. 在规则向导是否有例外中保持默认,点击下一步。
9. 最后给规则命名,并检查规则内容,确认后点击完成。
10. 关闭规则和通知窗口个,发个邮件测试吧。
outlook 2016找不到运行脚本规则,脚本自动下载附件失败原因排查:
1、选项-信任中心-信任中心设置-电子邮件安全性,勾选下方的两个运行脚本的checkbox
2、选项-信任中心-信任中心设置-宏设置,需要选择启动所有宏,默认是第二项
3、新创建规则的时候没有选项“运行脚本”
4、添加注册表EnableUnsafeClientMailRules
开始->regedit
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security
修改 EnableUnsafeClientMailRules值
如果没有,就手动创建一个
右边空白处,右键新建一个DWORD值,取名为EnableUnsafeClientMailRules,值设置为1
重启outlook
outlook以前经常用,现在不怎么用了
很使用的,自动保存附件功能。