在工作中定期或不定期会收到一些数据文件,然后要将它们的附件保存到自己的电脑上,下面演示如何让 Outlook 自动做这件事情。
首先,下面的 SaveAttach 函数可以保存附件中的 docx 文档到 D 盘根目录下。用 ALT+F11 打开 VBA 编辑器,插入下述代码:
Public Sub SaveAttach(Item As Outlook.MailItem)
SaveAttachment Item, "D:\", "*.docx"
' MsgBox "附件已保存"
End Sub
' 保存附件
' path为保存路径,condition为附件名匹配条件
Private Sub SaveAttachment(ByVal Item As Object, path$, Optional condition$ = "*")
Dim olAtt As Attachment
Dim i As Integer
If Item.Attachments.Count > 0 Then
For i = 1 To Item.Attachments.Count
Set olAtt = Item.Attachments(i)
' save the attachment
If olAtt.FileName Like condition Then
olAtt.SaveAsFile path & olAtt.FileName
End If
Next
End If
Set olAtt = Nothing
End Sub
如何实现自动保存呢?利用 Office Outlook 2007 的规则,它可以设定对满足一定条件的邮件自动运行脚本,然后选择脚本为 SaveAttach 函数即可。这样便能实现收到某些邮件时自动保存符合条件的附件到相应文件目录。
补充:如果上面方法没效果,可以尝试修改下面的设置(由 wfustc 在留言中指出)
在 Outlook 的信任中心勾选上「允许使用脚本」。
对于 Outlook 2007 ,在「工具->信任中心->电子邮件安全性->文件夹中的脚本",勾选上"允许在公用文件夹中使用脚本"和"允许在共享文件夹中使用脚本"
对于 Outlook 2010 ,相应选项位于「文件->选项->信任中心->电子邮件安全性"里。
Q. E. D.