2017-10-14 65 views
1

我已經編寫了一個工作代碼來以某種格式回覆電子郵件,但是結果缺少Html正文中收到的最後一封電子郵件的一些信息(發件人,發件人, ,cc,主題我甚至不確定這是否稱爲郵件標題)。VBA回覆電子郵件,但有些信息丟失

如果我點擊Outlook 2013的默認「回覆」按鈕,這些信息將在最後一封電子郵件之前自動生成,而上面的信息將是我的回覆內容。

那麼我應該使用哪個函數來調用這些信息呢?信息必須出現在我的所有回覆中,所以我需要從某種方式或其他方式中找出答案。我的代碼:

'there is a getsignature function before the code. 
Public Sub my_reply() 
Dim objOL As Outlook.Application 
Dim objMsg As Object 
Dim objSelection As Outlook.Selection 
Dim objMail As Outlook.mailitem 
Dim StrSignature As String 


StrSignature = GetSignature("C:\Users\xxx\xxx\Microsoft\Signatures\ABC.htm") 


Set objOL = CreateObject("Outlook.Application") 
Set objSelection = objOL.ActiveExplorer.Selection 
For Each objMsg In objSelection 
    If objMsg.Class = olMail Then 
     objMsg.Categories = "Category A" 

Set myreply = objMsg.Reply 
myreply.To = objMsg.SenderEmailAddress 
myreply.BCC = "[email protected]" & " ; " & "[email protected]" 
myreply.Subject = "XYZ matter" & objMsg.Subject 
myreply.Display 
myreply.HTMLBody = StrSignature & "<br><br>" & objMsg.HTMLBody 


Release: 
    Set objMsg = Nothing 
    Set oExplorer = Nothing 

    End If 

    Next 

End Sub 

謝謝先進。

+0

嘗試'myreply設置= objMsg.ReplyAll' – niton

+0

我試過,但它不」沒有任何區別。不管怎麼說,還是要謝謝你。 –

+0

請不要添加解決標題,而是發佈/接受對你有用的答案[參觀] –

回答

1

ReplyAll應該得到cc。如果你只關心丟失的文字,忽略這一點。

Set myReply = objMsg.ReplyAll 

您與objMsg.HTMLBody

myreply.HTMLBody = StrSignature & "<br><br>" & objMsg.HTMLBody 

覆蓋初始myreply.HTMLBody而是追加到初始myreply.HTMLBody

Option Explicit 

Public Sub my_replyAll() 

'Dim objOL As Outlook.Application 
Dim objMsg As Object 
Dim objSelection As Selection 

'Dim objMail As Outlook.mailitem 
Dim myReply As mailitem 

Dim StrSignature As String 

StrSignature = GetSignature("C:\Users\xxx\xxx\Microsoft\Signatures\ABC.htm") 

' Set objOL = CreateObject("Outlook.Application") 
'Set objSelection = objOL.ActiveExplorer.Selection 
Set objSelection = ActiveExplorer.Selection 

For Each objMsg In objSelection 

    If objMsg.Class = olMail Then 

     Set myReply = objMsg.ReplyAll 

     myReply.To = objMsg.SenderEmailAddress 

     myReply.BCC = "[email protected]" & " ; " & "[email protected]" 

     myReply.Subject = "XYZ matter " & objMsg.Subject 

     myReply.Display 

     'myReply.HtmlBody = StrSignature & "<br><br>" & objMsg.HtmlBody 
     myReply.HtmlBody = StrSignature & "<br><br>" & myReply.HtmlBody 

Release: 
     Set objMsg = Nothing 

    End If 

Next 

End Sub 
+0

這個作品,並非常感謝你Niton! :) –