跳到主要內容

如何在Outlook中以HTML格式自動回复?

在Microsoft Outlook中,我們可以配置設置並以HTML格式編寫所有新郵件,但是不能自動以HTMT格式答复郵件,因為它始終以收到的郵件的初始格式答复。 本文將向您介紹有關在Outlook中自動以HTML格式答复的技巧。

以格式手動回复HTML格式
使用VBA自動以HTML格式回复
始終使用Kutools for Outlook自動以HTML格式回复


以格式手動回复HTML格式

在Outlook中回復電子郵件時,很容易將純文本或RTF格式轉換為HTML格式。

1:選擇您稍後將回复的電子郵件。

2:點擊 回复 上的按鈕 首頁 標籤(或Outlook 2007中的工具欄上)以回複選定的電子郵件。

3:點擊 HTML 格式化文字 標籤(或 選項 標籤在Outlook 2007中)。

然後,回复消息立即轉換為HTML格式。

4:撰寫此回复消息,然後單擊 送出 按鈕。


使用VBA自動以HTML格式回复

以下方法將幫助您在Microsoft Outlook中自動答复HTML格式的所有電子郵件。

1:選擇您將以HTML格式回复的電子郵件。

2:按 其他 + F11 鍵以打開“ Microsoft Visual Basic應用程序”窗口。

3:點擊 插入 > 模塊.

4:將以下代碼粘貼到新的模塊窗口中。

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:如果您只想以html格式回复此選定的郵件,請按 F5 鍵來運行代碼。 然後彈出回复消息窗口,請進行撰寫,然後按 送出 按鈕發送電子郵件。

提示::
如果您以後希望在Outlook中始終或頻繁地以html格式答復電子郵件,請繼續進行以下配置。
1)點擊 自定義快速訪問工具欄 單擊Outlook功能區中的按鈕,然後單擊 更多命令 從下拉列表。

2)在 Outlook選項 對話框,您需要:
2.1)選擇 ,在 從中選擇命令 下拉列表;
2.2)選擇 項目1.AlwaysReplyInHTML 在命令框中
2.3)點擊 加入 按鈕(您可以看到所選宏已添加到右側框中);
2.4)點擊 OK 按鈕。 看截圖:

3)現在,宏已添加到快速訪問工具欄上,並顯示為  圖標。 每當您需要以html格式回復電子郵件時,請選擇電子郵件,然後單擊此按鈕將其激活。


始終使用Kutools for Outlook自動以HTML格式回复

Kutools for Outlook :擁有100多個方便的Outlook加載項, 60天免費試用.

在這裡,我向您推荐一個方便的實用程序– 固定回复格式 of Kutools for Outlook。 使用此實用程序,您可以輕鬆指定答复格式,例如HTML,純文本和RTF,並將指定的格式固定為以後所有答復電子郵件的答复格式。

1。 點擊 庫工具 > 固定格式 > 固定回复格式 > 設置回复格式。 看截圖:

2。 在裡面 設置回复格式 對話框中,選擇 HTML 選項,然後單擊 OK 按鈕。

3.現在請點擊 固定格式 > 固定回复格式啟用固定答复格式 在Kutools選項卡下以啟用該實用程序。

從現在開始,Outlook始終以HTML格式答復電子郵件。

如果您想免費試用該實用程序,請轉到 免費下載軟件 首先,然後按照上述步驟進行操作。


最佳辦公生產力工具

Kutools for Outlook - 超過 100 種強大的功能可增強您的 Outlook

📧 電子郵件自動化: 外出(適用於 POP 和 IMAP)  /  安排發送電子郵件  /  發送電子郵件時按規則自動抄送/密件副本  /  自動轉送(進階規則)   /  自動添加問候語   /  自動將多收件者電子郵件拆分為單獨的訊息 ...

📨 電子郵件管理: 輕鬆回憶電子郵件  /  按主題和其他人阻止詐騙電子郵件  /  刪除重複的電子郵件  /  進階搜索  /  合併資料夾 ...

📁 附件專業版批量保存  /  批量分離  /  批量壓縮  /  自動保存   /  自動分離  /  自動壓縮 ...

🌟 介面魔法: 😊更多又漂亮又酷的表情符號   /  使用選項卡式視圖提高 Outlook 工作效率  /  最小化 Outlook 而不是關閉 ...

👍 一鍵奇蹟: 使用傳入附件回覆全部  /   反網路釣魚電子郵件  /  🕘顯示寄件者的時區 ...

👩🏼‍🤝‍👩🏻 通訊錄和行事曆: 從選定的電子郵件中大量新增聯絡人  /  將聯絡人群組拆分為各組  /  刪除生日提醒 ...

超過 100特點 等待您的探索! 按此處了解更多。

閱讀更多       免費下載      購買
 

 

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