Skip to main content

How to reply in HTML format automatically in Outlook?

In Microsoft Outlook, we can configure settings and compose all new messages in HTML format, but can’t reply messages in HTMT format automatically, because it always reply in the initial format of received messages. This article will introduce you tricks about replying in HTML format automatically in Outlook.

Reply in HTML format manually with formatting
Reply in HTML format automatically with VBA
Always reply in HTML format automatically with Kutools for Outlook


Reply in HTML format manually with formatting

It is easy to convert the formats of Plain Text or Rich text to the HTML format when you are replying an email message in Outlook.

1: Select the email message that you will reply later.

2: Click the Reply button on the Home tab (or on the Toolbar in Outlook 2007) to reply the selected email message.

3: Click the HTML on the Format Text tab (or Options tab in Outlook 2007).

Then the replying message is converted to the HTML format immediately.

4: Compose this replying message, and click the Send button.


Reply in HTML format automatically with VBA

The following method will help you reply all email messages in the HTML format automatically in Microsoft Outlook.

1: Select the email message that you will reply in the HTML format.

2: Press the Alt + F11 keys to open the Microsoft Visual Basic for Applications window.

3: Click the Insert > Module.

4: Paste the following code into the new module window.

Sub AlwaysReplyInHTML()
Dim oSelection As Outlook.Selection
Dim oItem As Object
'Get the selected item
Select Case TypeName(Application.ActiveWindow)
Case "Explorer"
Set oSelection = Application.ActiveExplorer.Selection
If oSelection.Count > 0 Then
Set oItem = oSelection.Item(1)
Else
MsgBox "Please select an item first!", vbCritical, "Reply in HTML"
Exit Sub
End If
Case "Inspector"
Set oItem = Application.ActiveInspector.CurrentItem
Case Else
MsgBox "Unsupported Window type." & vbNewLine & "Please select or open an item first.", _
vbCritical, "Reply in HTML"
Exit Sub
End Select
    Dim oMsg As Outlook.MailItem
Dim oMsgReply As Outlook.MailItem
Dim bPlainText As Boolean
'Change the message format and reply
If oItem.Class = olMail Then
Set oMsg = oItem
If oMsg.BodyFormat = olFormatPlain Then
bPlainText = True
End If
oMsg.BodyFormat = olFormatHTML
Set oMsgReply = oMsg.Reply
If bIsPlainText = True Then
oMsg.BodyFormat = olFormatPlain
End If
oMsg.Close (olSave)
oMsgReply.Display
'Selected item isn't a mail item
Else
MsgBox "No message item selected. Please select a message first.", _
vbCritical, "Reply in HTML"
Exit Sub
End If
'Cleanup
Set oMsgReply = Nothing
Set oMsg = Nothing
Set oItem = Nothing
Set oSelection = Nothing
End Sub

5: If you want to only reply this selected message in html format, please press the F5 key to run the code. Then the replying message window pops up, please compose it and press the Send button to send the email.

Tips::
If you want to always or frequently reply emails in html format in the future in Outlook, please go on configuring as follows.
1) Click the Customize Quick Access Toolbar button in Outlook ribbon and then click More Commands from the drop-down.

2) In the Outlook Options dialog box, you need to:
2.1) Select Macros in the Choose commands from drop-down list;
2.2) Select Project1.AlwaysReplyInHTML in the command box;
2.3) Click the Add button (you can see the selected macro is added to the right box);
2.4) Click the OK button. See screenshot:

3) Now the macro is added on the Quick Access Toolbar and displayed as an  icon. Every time when you need to reply an email in html format, please select the email and click this button to activate it.


Always reply in HTML format automatically with Kutools for Outlook

Kutools for Outlook : with more than 100 handy Outlook add-ins, free to try with no limitation in 60 days.

Here I recommend you a handy utility – Fixed Reply Formatting of Kutools for Outlook. With this utility, you can easily specify a reply formatting such as HTML, plain text and RTF, and fix the specified formatting as the reply format for all future reply emails.

1. Click Kutools > Fixed Formatting > Fixed Reply Formatting > Set Reply Formatting. See screenshot:

2. In the Set Reply Formatting dialog box, select the HTML option and then click the OK button.

3. Now please click Fixed Formatting > Fixed Reply FormattingEnable Fixed Reply Formatting under the Kutools tab to enable the utility.

From now on, Outlook always reply an email in HTML format.

If you want to have a free trial of this utility, please go to free download the software first, and then go to apply the operation according above steps.


Best Office Productivity Tools

Kutools for Outlook - Over 100 Powerful Features to Supercharge Your Outlook

🤖 AI Mail Assistant: Instant pro emails with AI magic--one-click to genius replies, perfect tone, multilingual mastery. Transform emailing effortlessly! ...

📧 Email Automation: Out of Office (Available for POP and IMAP)  /  Schedule Send Emails  /  Auto CC/BCC by Rules When Sending Email  /  Auto Forward (Advanced Rules)   /  Auto Add Greeting   /  Automatically Split Multi-Recipient Emails into Individual Messages ...

📨 Email Management: Easily Recall Emails  /  Block Scam Emails by Subjects and Others  /  Delete Duplicate Emails  /  Advanced Search  /  Consolidate Folders ...

📁 Attachments ProBatch Save  /  Batch Detach  /  Batch Compress  /  Auto Save   /  Auto Detach  /  Auto Compress ...

🌟 Interface Magic: 😊More Pretty and Cool Emojis   /  Boost Your Outlook Productivity with Tabbed Views  /  Minimize Outlook Instead of Closing ...

👍 One-click Wonders: Reply All with Incoming Attachments  /   Anti-Phishing Emails  /  🕘Show Sender's Time Zone ...

👩🏼‍🤝‍👩🏻 Contacts & Calendar: Batch Add Contacts From Selected Emails  /  Split a Contact Group to Individual Groups  /  Remove Birthday Reminders ...

Over 100 Features Await Your Exploration! Click Here to Discover More.

Read More       Free Download      Purchase
 

 

Comments (25)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I've been using this macro for a couple years now. Unfortunately it has started to change the character set of the replied email to some unknown character set eg"整瑸栯浴㭬挠慨獲瑥甽晴㠭㸢਍䴼呅⁁䅎䕍∽敇" that is not translatable. Has anyone else come across this issue and if so were you able to find a fix?
This comment was minimized by the moderator on the site
Hi there,

Please try the code below:
Sub AlwaysReplyInHTML()
Dim xSelection As Outlook.Selection
Dim xItem As Object
Dim xMail As Outlook.MailItem
Dim xMailReply As Outlook.MailItem
'On Error Resume Next
Select Case TypeName(Application.ActiveWindow)
  Case "Explorer"
    Set xSelection = Application.ActiveExplorer.Selection
    If xSelection.Count > 0 Then
      Set xItem = xSelection.Item(1)
    Else
      MsgBox "Please select an item first!", vbCritical, "Kutools for Outlook"
      Exit Sub
    End If
  Case "Inspector"
    Set xItem = Application.ActiveInspector.CurrentItem
  Case Else
    MsgBox "Unsupported Window type." & vbNewLine & "Please select or open an item first.", vbCritical, "Kutools for Outlook"
    Exit Sub
End Select
If xItem.Class = olMail Then
  Set xMail = xItem
  Set xMailReply = xMail.Reply
  xMailReply.Display
  xMailReply.BodyFormat = olFormatHTML
Else
  MsgBox "No message item selected. Please select a message first.", vbCritical, "Kutools for Outlook"
  Exit Sub
End If
Set xMailReply = Nothing
Set xMail = Nothing
Set xItem = Nothing
Set xSelection = Nothing
End Sub
This comment was minimized by the moderator on the site
Merci beaucoup.
Je l’ai modifié un peu, et ça fonctionne de nouveau chez moi, sans la transformation en Chinois…

Sub AlwaysReplyInHTML_Kutools()
Dim xSelection As Outlook.Selection
Dim xItem As Object
Dim xMail As Outlook.MailItem
Dim xMailReply As Outlook.MailItem

'On Error Resume Next
Select Case TypeName(Application.ActiveWindow)
  Case "Explorer"
    Set xSelection = Application.ActiveExplorer.Selection
    If xSelection.Count > 0 Then
      Set xItem = xSelection.Item(1)
    Else
      MsgBox "Please select an item first!", vbCritical, "Kutools for Outlook"
      Exit Sub
    End If
  Case "Inspector"
    Set xItem = Application.ActiveInspector.CurrentItem
  Case Else
    MsgBox "Unsupported Window type." & vbNewLine & "Please select or open an item first.", vbCritical, "Kutools for Outlook"
    Exit Sub
End Select

If xItem.Class = olMail Then
  Set xMail = xItem
  'Changer le format ici, afin que la réponse inclu notre signature en html…!
        xMail.BodyFormat = olFormatHTML
  
  Set xMailReply = xMail.Reply
  xMailReply.Display
  'xMailReply.BodyFormat = olFormatHTML
Else
  MsgBox "No message item selected. Please select a message first.", vbCritical, "Kutools for Outlook"
  Exit Sub
End If

Set xMailReply = Nothing
Set xMail = Nothing
Set xItem = Nothing
Set xSelection = Nothing
End Sub
This comment was minimized by the moderator on the site
Thanks I'll give that a go. Have a nice day.
This comment was minimized by the moderator on the site
Hi,

as for answering everyone - it's very simple - just change the 31st line of code:

Set oMsgReply = oMsg.Reply --> change "oMsg.ReplyAll" or change "oMsg.Forward"

And to apply for "all emails" just do this:
Instead of creating buttons in quick access, create new buttons directly in the ribbon (Customize Ribbon), create a "Custom" ("New Group") there and create buttons from macros (first macro to "reply to all", second macro to "forward").

And the original "Reply" group can be removed from the ribbon ;)

Anyway, extendoffice.com is a great site from which I sometimes draw data - many thanks... ;)
This comment was minimized by the moderator on the site
This is great and solves a long term frustration with outlook! As someone not experienced with VBA coding could I get a little more advice on how to set up the replyall and forward functionality. I have the 'replyinHTML' working (with a custom ribbon button for it) but am not sure how the get the other options working. Should I be creating a new project or new module within the existing project with the modified code at line 31?
Any help appreciated - thanks!
This comment was minimized by the moderator on the site
Hi, you should save them respectively as three different modules. :)
This comment was minimized by the moderator on the site
Thank you!
This comment was minimized by the moderator on the site
Hello,

This works very well, thanks. But... it does not reply to all. Only the sender of the email received is added to the reply. What should I change in the code so it does "Reply to all" instead of "Reply"?


Thanks!
This comment was minimized by the moderator on the site
Running the macro works for one instance, but how to replicate it to occur on every instance?
This comment was minimized by the moderator on the site
I followed all of the steps listed about but when I press F5 to run the Module I get an error message saying that the Macros for this project have been disabled. I even tried going into Outlooks settings and telling Outlook to enable all Macros. Any help would be greatly appreciated!
This comment was minimized by the moderator on the site
Thanks a lot for this macro!
This comment was minimized by the moderator on the site
this only changes the email i have selected. how do you change it for all emails?
This comment was minimized by the moderator on the site
Same thing for me. Did you get any help?
This comment was minimized by the moderator on the site
Please, do you know the appropriate 'Alt F11' and 'F5' keys when using Outlook 2016 on a Mac?
This sure is an annoying omission by Microsoft. Many thanks. Hope you can help.
This comment was minimized by the moderator on the site
Thanks, it worked. You are da man!
This comment was minimized by the moderator on the site
Thank you for this, but i am having issues. I copy/pasted and the number were put above the text when i pasted it and I got the error message - "compile error: invalid outside procedure" Then i tried to just erase the numbers and leave the test and got : Run time Error - could not send message. - I then clicked Debug and got the same error as others: Set oMsgReply = oMsg.Reply Thoughts?
This comment was minimized by the moderator on the site
Dont open the email, only highlight it in outlook. Alt +F11 insert the module F5 New email should open as HTML to reply
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations