自动保存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函数即可。这样便能实现收到某些邮件时自动保存符合条件的附件到相应文件目录。

  • Outlook中实现Gmail中的存档功能 时间管理中有重要的一条,保持你的收件箱整洁、干净。Gmail一个重要的创新就是Archive(存档),选中邮件后点下“archive”按钮或者按一下快捷键y,...
  • VBA中的Date类型的匹配问题 VBA的Date类型比较奇怪。 测试: 1. 新建一个空白的Excel文档,在A1单元格输入2009-11-12。 2. 打开VBA编辑器,插入模块,增加下面这个宏 Sub test() MsgBo...
  • 为Excel自定义函数添加帮助信息 函数列表界面显示选中函数的说明信息 效果图: 实现方式: Application.MacroOptions(Macro:="UDFtest"...
  • VBA中引用WorkSheet的新方法 最近学到一招,效果不错~ 在写VBA中常需要引用某个WorkSheet对象,一般通过工作表名 Dim ws As Worksheet    Set ws = ThisWorkbook.Worksheets("Sheet2Name") 或...
  • 动态修改Excel数据表的数据来源 Excel有一个很有用的功能是直接导入外部数据库或者使用外部数据源建立数据透视表和数据透视图。但比较可惜的是,这个数据源的查询语句是静态的...
  • Oracle:存取器不是参数存取器或列值被截断 最近写一个vba程序的时候不间歇的出现 “存取器不是参数存取器 ”或者“列值被截断”的错误。后来发现对于我等不专业人士,遇到这样的错误还挺e...
5条留言 -> 跳到留言表格
  • At 2009.12.10 21:16, 海洋风 said:

    想试一下AJAX的回复。好用不。。

    • At 2009.12.10 22:19, codingday said:

      好技巧! 现在工作中刚好在用Outlook收lotus邮件, 但可以用的是Outlook2003,不知道能实现这个功能不?明天去试试。 :-D

      • At 2009.12.11 13:10, codingday said:

        执行不成功 :-( 是不是在Domino上、或者IMAP方式下不好使?设定规则时指定运行脚本后就多出来一个“仅在本机”的条件。

        • At 2009.12.11 18:37, zhiqiang said:

          我只在pop3上测试了,imap可能不行,因为imap的邮件和附件都是现下现看的。

          应该也有解决方案,这就需要自己摸索了 :)

          • At 2009.12.11 21:38, len said:

            outlook的pst文件会越用越大,主要是附件的原因,可以试着用免费的attachment remover插件,可以批量将附件从pst取出,保存在其他地方。

            (Required)
            (Required, not published)

              B | I | U | D | 添加链接 | 插入引用 | 插入代码 | 插入表情 | | + | ?
            guest | 注册 | BBS | 管理 | English | 繁體 | https

            阅微堂

            zhiqiang's personal blog
            Loading...
            Loading...
            Loading...