如何在Outlook回复邮件中移除HTML正文签名上方自动生成的行?
解决Outlook回复邮件时移除签名上方自动生成空行的问题
我现有一段VBA代码,在创建新邮件时可以移除签名上方自动生成的空行:
Sub sig_and_email_send() Dim OutApp As Object Dim OutMail As Object Dim signature As String With Application .EnableEvents = False .ScreenUpdating = False End With Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) ' 获取邮件默认签名 With OutMail ' 2 = HTML格式 .BodyFormat = 2 .Display ' 删除签名前的空白行 signature = Replace(OutMail.HTMLBody, "<p class=MsoNormal><o:p> </o:p></p>", "") ' 清空邮件内容后关闭(放弃更改) OutMail.HTMLBody = Replace(OutMail.HTMLBody, OutMail.HTMLBody, "") OutMail.Close 1 End With On Error Resume Next With OutMail .to = "email@email.com" .CC = "email@email.com" .BCC = "email@email.com" .Subject = "Subject" .Attachments.Add "\\network\folder\documents\file.xlsx" .HTMLBody = .HTMLBody & "Hi," & "whateveryourtextis" & _ "<br>" & "Thanks," & "<br><br>" & signature .Display ' 也可使用 .Send 直接发送 End With On Error GoTo 0 With Application .EnableEvents = True .ScreenUpdating = True End With Set OutMail = Nothing Set OutApp = Nothing End Sub
但这段代码在回复邮件时无法正常运行,我需要实现回复邮件时也能删除这些自动生成的行。
适配回复场景的修改代码
针对回复邮件的场景,调整代码逻辑,直接基于选中的邮件生成回复并处理空行:
Sub RemoveSigSpaceInReply() Dim OutApp As Object Dim OriginalMail As Object Dim ReplyMail As Object With Application .EnableEvents = False .ScreenUpdating = False End With Set OutApp = CreateObject("Outlook.Application") ' 获取当前在Outlook中选中的邮件 Set OriginalMail = OutApp.ActiveExplorer.Selection.Item(1) ' 生成该邮件的回复 Set ReplyMail = OriginalMail.Reply With ReplyMail .BodyFormat = 2 ' 设置为HTML格式 .Display ' 移除签名上方的自动空行 .HTMLBody = Replace(.HTMLBody, "<p class=MsoNormal><o:p> </o:p></p>", "") ' 可自定义添加回复内容,示例如下 .HTMLBody = "Hi," & "<br>" & "这是我的回复内容" & "<br><br>" & .HTMLBody End With With Application .EnableEvents = True .ScreenUpdating = True End With Set ReplyMail = Nothing Set OriginalMail = Nothing Set OutApp = Nothing End Sub
关键修改说明
- 替换原代码创建新邮件的逻辑,改为获取当前选中的邮件并生成回复项
- 直接在回复邮件的HTMLBody中替换目标空行,无需额外提取签名再拼接(回复邮件默认会自动带上签名)
- 若需要添加自定义回复内容,可调整
.HTMLBody的拼接顺序,确保内容显示在签名上方
内容的提问来源于stack exchange,提问作者Gianni
相关产品推荐
相关产品推荐

