2013-03-28 48 views
2

我有一個訂單,每週會有數次通過電子郵件發送,並附帶一份我需要發送的附件進行處理。處理該文件的軟件要求該電子郵件沒有簽名和正文中的文本。將傳入消息的附件添加到新的傳出消息中

我通過查找發件人和附件的規則來觸發腳本。該腳本應抓取模板並插入附件。我遇到的問題是插入附件。

這是我到目前爲止。感謝您的幫助。

Sub SendLeadOrder(Item As Outlook.MailItem) 

    Set objMsg = Application.CreateItemFromTemplate("C:\OrderTemplate.oft") 

    objMsg.Attachments.Add Item.Attachments 
    objMsg.Display 
    'objMsg.Send 

End Sub 

回答

1

我敢肯定,您需要將附件保存到磁盤,然後將它們重新應用到新郵件中。像這樣

Dim Item As Outlook.MailItem 
Dim objMsg As Outlook.MailItem 
Dim objAtt As Outlook.Attachment 
Dim sPath As String 

Set Item = ActiveInspector.currentItem 
Set objMsg = Application.CreateItemFromTemplate("C:\OrderTemplate.oft") 

For Each objAtt In Item.Attachments 
    sPath = Environ("TEMP") & "\" & objAtt.FileName 
    objAtt.SaveAsFile sPath 
    objMsg.Attachments.Add sPath 
Next objAtt 

objMsg.Display 

您確定轉發郵件並根據需要進行清理並不容易嗎?像這樣

Dim Item As Outlook.MailItem 
Dim objMsg As Outlook.MailItem 

Set Item = ActiveInspector.currentItem 
Set objMsg = Item.Forward 
With objMsg 
    .To = "[email protected]" 
    .Subject = "Predifined Subject" 
    .Body = vbNullString 
    .Display 
End With 
+0

我寧願清理它,但似乎並不適用於我。這是我如何設定它 子SendNewOrder(項目作爲Outlook.MailItem) 昏暗objMsg作爲Outlook.MailItem 設置項= ActiveInspector.CurrentItem 設置objMsg = Item.Forward 隨着objMsg 。爲了=「 [email protected]」 .Subject =‘Predifined主題’ 。體= vbNullString 。顯示 尾隨着 結束小組 –

+0

什麼不起作用? To,Subject或Body是否不會更改爲代碼中的內容? –

+0

我不確定是什麼錯,因爲它沒有顯示郵件。通過使用你的想法將body設置爲null,我能夠使用另一個轉發電子郵件的例子來完成我所需要的。謝謝你的幫助。 –