自动保存Outlook邮件的附件

作者:, 发表于

办公自动化

查看该系列所有文章

在工作中定期或不定期会收到一些数据文件,然后要将它们的附件保存到自己的电脑上,下面演示如何让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.


上一篇:为Excel自定义函数添加帮助信息2009年12月6日
函数列表界面显示选中函数的说明信息 效果图: 实现方式: Application.MacroOptions(Macro:="UDFtest", Description:="UDFtest Description ...", Category:=&

下一篇:VBA中引用WorkSheet的新方法2009年12月14日
最近学到一招,效果不错~ 在写VBA中常需要引用某个WorkSheet对象,一般通过工作表名 Dim ws As Worksheet    Set ws = ThisWorkbook.Worksheets("Sheet2Name") 或


  • 支持使用微薄、微信和QQ的账户登陆进行评论。由各自网站直接认证,不会泄露你的密码。
  • 登陆后可选择分享评论到所绑定的社交网络,如微薄、人人和QQ空间。
  • 评论提交后无法修改。如需修改,请删除原评论再重新提交。
  • 评论支持LaTeX代码,行内公式请用\(a+b=c\),行间公式请用\[a+b=c\]。公式只支持英文字符。