如何替换电子邮件的回复正文并保持签名?

问题描述 投票:1回答:1

我想在不包括原始电子邮件的情况下回复电子邮件,但包括发件人作为收件人,主题和我的签名。

目前我有Set objDoc = ActiveInspector.WordEditor。我尝试在此处查找电子邮件的正文,因此可以将其替换为其他文本。

我想保留我要回复的电子邮件的主题,发件人和收件人。

这是我当前的回复代码:

With oReply
    .BCC = bccField
    .CC = ccField
    .HTMLBody = "<HTML><Body><span>my reply here</span><Body></HTML>" & .HTMLBody & "<span>" & "Additional stuff" & "</span>"
End With 

[我尝试在<span>之间取出.HTMLBody,它确实取出了原始用户的消息,但也取出了我的签名。

outlook outlook-vba
1个回答
1
投票

而不是使用reply功能,只需创建一个新的mailItem并将详细信息转移过来。

以下示例使用原始电子邮件。因此,无论您有Set oReply = (something).Reply,都将用Set originalMailItem = (Something)替换或更新。 (something)应该是您尝试回复的原始邮件。

为了有效地插入签名,我们必须.Display mailItem。否则,Outlook将注意生成签名。确保Outlook客户端上的签名设置正确,以默认为新邮件项目的期望签名。

Set newMail = outApp.CreateItem(olMailItem) 'Create a new mail instead of replying to existing

With newMail
    .Display
    .HTMLBody = "<HTML><Body><span>my reply here</span><Body></HTML>" _
    & "<span>" & "Additional stuff" & "</span>" _
    & .HTMLBody 'HTMLBody already contains the signature once the email was displayed so we just tack it onto the end.
    .To = originalMailItem.SenderEmailAddress
    .CC = originalMailItem.CC
    .BCC = originalMailItem.BCC
    .Subject = originalMailItem.Subject
    '.Send     'To send the reply
End With
© www.soinside.com 2019 - 2024. All rights reserved.