Excel VBA将Outlook发送的项目复制到Windows文件夹

时间:2017-01-10 20:58:50

标签: excel vba excel-vba email outlook

我希望你能帮助解决这个问题。

我目前正在创建一个从Excel启动的VBA宏,使用Excel文件中的变量创建外发邮件,这非常简单。但是,一旦发送,我们要求将邮件复制到网络目录而不是公共邮件文件(例如" R:\ Site Reports *****")。我在Outlook中看到了几个基于宏的线程,允许将邮件复制到Outlook中的公共文件夹,但是我无法看到任何可以复制Outlook外部邮件的Excel中的宏。有人可以提出解决方案吗?

非常感谢, 丹

1 个答案:

答案 0 :(得分:0)

您需要先将邮件项目保存到磁盘,然后使用FileInfo.MoveTo方法将其移动到网络共享,该方法会将指定文件移动到新位置,并提供指定新文件名的选项。

MailItem.SaveAs方法将Microsoft Outlook项目保存到指定的路径,并采用指定文件类型的格式。如果未指定文件类型,则使用MSG格式(.msg)。

您可以处理在将一个或多个项目添加到指定集合时触发的Items类的ItemAdd事件。因此,您可以跟踪何时将项目添加到“已发送邮件”文件夹(即已发送)。

最后,您可能会发现Automating Outlook from Other Office Applications文章很有帮助。