我正在尝试开发一个程序,当用户发送电子邮件时,它会使用OnItemSend拦截。这有效,但是我无法完成下一个工作,即在发送电子邮件后,已发送的项目将保存到网络文件夹中。
我可以使用以下代码来确定不同的已发送文件夹'叫做“TESTER'但我需要它实际上是保存到文件夹路径而不是,例如' c:\ temp \ email.msg'
Dim myItem As Outlook.MailItem
Dim mpfInbox As Outlook.Folder
Dim mpf As Outlook.Folder
mpfInbox = Application.Session.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox)
mpf = mpfInbox.Folders("TESTER")
myItem = Application.ActiveInspector.CurrentItem
myItem.SaveSentMessageFolder = mpf
我知道我可以做点像......
' myItem.SaveAs sourcefolder& " \" &安培; sName,olMSG'
但它在发送之前保存它,因此msg文件看起来像是保存的新电子邮件,而不是已保存的已发送电子邮件。
答案 0 :(得分:1)
在自定义Outlook文件夹上使用Items.ItemAdd
事件(在邮件发送并移动到该文件夹后将触发),保存该邮件(MailItem.SaveAs
),然后删除原始邮件。