2017-10-14 72 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! :) –