提示:请先在Outlook中启用宏。
前提:要会如何设立邮件规则。
打开Outlook, 按Alt+F11进入VBA编辑窗口,将如下代码复制进去。
Public Sub saveAttachtoDisk (itm As Outlook.MailItem) Dim objAtt As Outlook.Attachment Dim saveFolder As String
saveFolder = "c:\temp\"
For Each objAtt In itm.Attachments
'"c:\temp\"为保存目录,必须以"\"结尾,否则无法保存。此处可以自定义保存路径。
objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName
Set objAtt = Nothing
Next
End Sub
如果你要阻止文件被覆盖,比如:如果你收到两封邮件,附件中的文件名称相同,且不想第二封邮件中的附件覆盖之前的附件,请将以下代码加到以dim开头的行下。
Dim dateFormat
dateFormat = Format(Now, "yyyy-mm-dd H-mm")
然后将以'objAtt.SaveAsFile'开头的代码替换成如下代码:
objAtt.SaveAsFile saveFolder & "\" & dateFormat & objAtt.DisplayName
完整代码如下:
Public Sub saveAttachtoDisk (itm As Outlook.MailItem) Dim objAtt As Outlook.Attachment Dim saveFolder As String
Dim dateFormat
dateFormat = Format(Now, "yyyy-mm-dd H-mm")
saveFolder = "c:\temp\" For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\" & dateFormat & objAtt.DisplayName
Set objAtt = Nothing
Next
End Sub
最后建立邮件规则来运行脚本即可。
转载于:https://blog.51cto.com/markus/1124509