2016-07-06 126 views
1

我想開發一個程序,當用戶發送一封電子郵件時,使用OnItemSend攔截它。這可行,但我無法獲得下一個工作,即在發送電子郵件後,發送的項目被保存到網絡文件夾中。SaveSentMessageFolder到網絡文件夾(而不是Outlook文件夾)

我可以使用下面的代碼來確定一個名爲'TESTER'的不同'發送文件夾',但我需要它實際上保存到一個文件夾路徑而不是像'c:\ temp \ email'那樣。味精」

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文件看起來像一個保存的新電子郵件,rathe而不是保存的發送電子郵件。

回答

1

使用您的自定義Outlook文件夾上的Items.ItemAdd事件(它將在郵件發送並移動到該文件夾​​後觸發),保存該郵件(MailItem.SaveAs),然後刪除原始郵件。

+0

非常感謝 - 在您的幫助之後找到了一篇很棒的文章:https://jwcooney.com/2012/03/05/vs2010-outlook-thisaddin-how-to-get-the-sent-email-message/ –