【发布时间】:2014-07-30 14:17:44
【问题描述】:
每当发送电子邮件时,我希望将该电子邮件的副本连同所有附件一起保存在本地文件夹中。
我认为这在 Outlook 中使用自定义规则是不可能的,但也许可以使用 VBA 脚本来完成?
我使用 Outlook 和 MS Exchange。
【问题讨论】:
每当发送电子邮件时,我希望将该电子邮件的副本连同所有附件一起保存在本地文件夹中。
我认为这在 Outlook 中使用自定义规则是不可能的,但也许可以使用 VBA 脚本来完成?
我使用 Outlook 和 MS Exchange。
【问题讨论】:
当然可以使用Application_ItemSend 事件过程调用自定义过程来完成,该过程会将您发送的邮件保存到本地文件夹。
此代码位于“ThisOutlookSession”模块中。
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Call SaveACopy(Item)
End Sub
Sub SaveACopy(Item As Object)
Const olMsg As Long = 3
Dim m As MailItem
Dim savePath As String
If TypeName(Item) <> "MailItem" Then Exit Sub
Set m = Item
savePath = "c:\users\your_user_name\desktop\" '## Modify as needed
savePath = savePath & m.Subject & Format(Now(), "yyyy-mm-dd-hhNNss")
savePath = savePath & ".msg"
m.SaveAs savePath, olMsg
End Sub
你需要确保指定的路径是唯一的/等等,上面的例子相当粗略。您还需要删除任何不能放入文件名中的非法字符(斜杠、管道等)...
作为替代方案,我建议您定期归档您的文件夹。您可以将 Outlook 配置为将已发送邮件的副本保存到“已发送”文件夹,然后您应该能够归档该文件夹;单独保存每个项目似乎不太理想。
【讨论】: