如何通过 Outlook VBA 自动回复原始电子邮件和预定义的文本

立即分享:

如果您使用 Outlook 规则自动回复,您会发现自动回复无法在正文中包含原始邮件。 本文将介绍一种简单的方法,可以通过 Outlook VBA 将原始电子邮件和预定义的文本插入到自动回复的正文中。

在 Outlook 中,Exchange 帐户允许用户直接通过“文件”菜单中“信息”选项卡下的“自动回复”按钮设置自动回复,如下图所示:

MS Excahnge 帐户中的自动回复

但如果您使用的是Internet 电子邮件帐户,无论是IMAP 还是POP3,都没有“自动回复”按钮可用。 启用自动回复的唯一方法是创建自动回复规则,如下图所示:

自动回复规则

但是,这种由 Outlook 规则自动回复的邮件不能自动包含原始邮件。 实际上,米ost 人们喜欢在自动回复的邮件正文中附加原始电子邮件。 在这种情况下,自动回复规则肯定无法实现。 因此我们应该使用 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

立即分享:

评论被关闭。