如何通過Outlook VBA自動回復原始電子郵件和預定義的文本

立即分享:

如果您使用Outlook規則自動回复,則會發現自動回復中不能包含原始郵件。 本文將介紹一種簡單的方法,該方法可以通過Outlook VBA將原始電子郵件和預定義的文本插入自動回复的正文中。

在Outlook中,Exchange帳戶允許用戶通過“文件”菜單中“信息”選項卡下的“自動答复”按鈕直接設置自動答复,如以下屏幕截圖所示:

MS Excahnge帳戶中的自動答复

但是,如果您使用的是Internet電子郵件帳戶,則無論是IMAP還是POP3,都沒有“自動回复”按鈕。 啟用自動回复的唯一方法是創建自動回复規則,如下圖所示:

自動回复規則

然而,Outlook 規則的這種自動回覆功能無法自動包含原始郵件。實際上,大多數用戶都希望在自動回覆的郵件正文中附上原始郵件。在這種情況下,自動回覆規則無法實現。因此,我們需要使用 Outlook VBA 程式碼。如果您有興趣,請繼續閱讀以獲取詳細步驟和 VBA 程式碼。

自動回復原始電子郵件和預定義的文本

  1. 首先,您應該轉到“開發人員”選項卡,然後單擊“ Visual Basic”按鈕。
  2. 然後,在新的“ Microsoft Visual Basic for Applications”窗口中,您需要雙擊左側的“ ThisOutlookSession”項目。
  3. 之後,“ ThisOutlookSession”項目將打開。 現在,您應該將以下VBA代碼複製並粘貼到其中。
Public WithEvents olItems As Outlook.Items

Private Sub Application_Startup()
    Set olItems = Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub olItems_ItemAdd(ByVal Item As Object)
    Dim olReply As MailItem
 
    If Item.Class = olMail Then
       Set olReply = Item.Reply
    Else
       Exit Sub
    End If
 
    With olReply
         'Type Your Own Auto Reply
         'Change "John Smith" to Your Own Name
         .Body = "This is a test auto reply." & vbCrLf & vbCrLf & "-------Original Message-------" & vbCrLf & "From: " & Item.Sender & "[mailto: " & Item.SenderEmailAddress & "]" & vbCrLf & "Sent: " & Item.ReceivedTime & vbCrLf & "To: YourName" & vbCrLf & "Subject: " & Item.Subject & vbCrLf & Item.Body
         .Send
    End With
End Sub

自動回复VBA代碼

  1. 接下來,您應該像往常一樣對此代碼進行簽名,並繼續更改宏設置以僅允許進行數字簽名的宏。
  2. 最後,完成上述步驟後,Outlook將自動在正文中發送包含原始郵件信息的回复。 如下圖所示:自動回復原始電子郵件和預定義的文本

請注意: 無論使用規則自動答復還是使用VBA代碼自動答复,這兩種方法都只能在Outlook運行時生效。

解決Outlook數據錯誤

毫無疑問,Outlook無法避免錯誤。 因此,對於Outlook普通用戶來說,獲取一些技巧來解決這些問題至關重要。 顯然,應對的最佳方法 Outlook資料損壞 正在進行定期備份。 只要掌握有效的備份,即使Outlook崩潰,您也可以放輕鬆。 當然,出於保險考慮,您最好也隨身攜帶強大的維修工具。

作者簡介:

Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 修復SQL mdf文件損壞 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

立即分享:

評論被關閉。