自动保存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函数即可。这样便能实现收到某些邮件时自动保存符合条件的附件到相应文件目录。
想试一下AJAX的回复。好用不。。
好技巧! 现在工作中刚好在用Outlook收lotus邮件, 但可以用的是Outlook2003,不知道能实现这个功能不?明天去试试。
执行不成功
是不是在Domino上、或者IMAP方式下不好使?设定规则时指定运行脚本后就多出来一个“仅在本机”的条件。
我只在pop3上测试了,imap可能不行,因为imap的邮件和附件都是现下现看的。
应该也有解决方案,这就需要自己摸索了
outlook的pst文件会越用越大,主要是附件的原因,可以试着用免费的attachment remover插件,可以批量将附件从pst取出,保存在其他地方。