如果您需要在Outlook中以HTML格式答复或转发邮件,可以尝试以下VBA代码轻松解决问题。
1. 在Outlook中,按Alt + F11键打开Microsoft Visual Basic for Applications窗口。
2. 在Microsoft Visual Basic for Applications窗口中,点击插入 > 模块,然后将以下代码粘贴到新模块中。
VBA:自动以HTML格式答复或转发邮件
Sub ForceReplyInHTML()
'update by ExtendOffice.com on 11/18/2020
Dim xSelection As Outlook.Selection
Dim xItem As Object
Dim xMailItem As Outlook.MailItem
Dim xRMail As Outlook.MailItem
Dim xIsPlainText As Boolean
Dim xWinStr As String
On Error Resume Next
xWinStr = TypeName(Application.ActiveWindow)
If xWinStr = "Explorer" Then
Set xSelection = Application.ActiveExplorer.Selection
If xSelection.Count > 0 Then
Set xItem = xSelection.Item(1)
Else
MsgBox "No message item selected. " & "Please make a selection first.", vbInformation, "Kutools for Outlook"
Exit Sub
End If
ElseIf xWinStr = "Inspector" Then
Set xItem = Application.ActiveInspector.CurrentItem
Else
MsgBox "Unsupported Window type. " & vbNewLine & "Please make a selection" & "or open an item first.", vbInformation, "Kutools for Outlook"
Exit Sub
End If
If xItem.Class <> olMail Then
MsgBox "No message item selected. " & "Please make a selection first.", vbInformation, "Kutools for Outlook"
Exit Sub
End If
xIsPlainText = False
Set xMailItem = xItem
If xMailItem.BodyFormat = olFormatPlain Then
xIsPlainText = True
End If
xMailItem.BodyFormat = olFormatHTML
Set xRMail = xMailItem.Reply
'If need to Reply to all recipients in HTML, change xMailItem.Reply to xMailItem.ReplyAll
'If need to forward in HTML, change xMailItem.Reply to xMailItem.Forward
If xIsPlainText = True Then
xMailItem.BodyFormat = olFormatPlain
End If
xRMail.Display (False)
Set xItem = Nothing
Set xMailItem = Nothing
Set xRMail = Nothing
End Sub
注意:上述代码将帮助您以HTML格式答复邮件。如果您希望自动以HTML格式答复所有或转发邮件,可以按照以下步骤操作:
(1) 要以HTML格式答复所有收件人,请将左侧代码替换为右侧代码: Set xRMail = xMailItem.Reply Set xRMail = xMailItem.ReplyAll
(2) 要以HTML格式转发邮件,请将左侧代码替换为右侧代码: Set xRMail = xMailItem.Reply Set xRMail = xMailItem.Forward
3. 现在您可以点击选择一封邮件,并在指定的模块窗口中点击运行按钮或按F5键以HTML格式答复、答复所有或转发邮件。
然而,每次手动打开指定的模块窗口运行VBA代码会很无聊。如果我们需要频繁应用此VBA,为了简化工作,我们可以将此VBA添加到快速访问工具栏作为命令按钮,以便将来只需单击即可轻松应用此VBA模块。
4. 在指定的模块窗口中,按Ctrl + S键保存代码,然后关闭模块窗口和Microsoft Visual Basic for Applications窗口。
5在Outlook的主界面中,点击快速访问工具栏中的小箭头 然后选择 更多命令 从下拉菜单中。
注意:您也可以点击文件 > 选项打开Outlook选项对话框,然后点击左侧栏中的快速访问工具栏。
6. 现在出现了Outlook选项对话框,并且在左侧栏中启用了快速访问工具栏。您可以按照以下步骤操作:(1) 从选择命令自下拉列表中选择宏;(2) 在左侧列表框中,点击以突出显示我们刚刚添加的指定VBA命令;(3) 点击添加 按钮。
7. 现在指定的VBA命令已添加到右侧列表框中。继续按照以下步骤操作:(1) 在右侧列表框中,点击以突出显示指定的VBA命令;(2) 点击修改按钮;(3) 在弹出的修改按钮对话框中,为VBA命令在符号框中指定一个符号;(4) 在显示名称框中为VBA命令输入一个易于理解的名称;(5) 连续点击确定按钮保存更改并关闭两个对话框。
现在VBA命令已添加到快速访问工具栏,如下图所示。
将来,无论原始邮件的格式是什么,您都可以点击快速访问工具栏中的VBA命令以HTML格式答复、答复所有或转发当前选定的邮件。