如何使用 VBA 在 Outlook 电子邮件编辑器中插入文本

Mar*_*131 3 email outlook vba ms-word

我希望创建一个宏,在发送之前将日期插入当前打开进行编辑的电子邮件正文中。

我在 Windows 7 机器上使用 Outlook 2013。

所需的工作流程:

  • 单击回复电子邮件
  • 在电子邮件编辑器中,将文本光标放在电子邮件正文中的所需位置以插入文本
  • 执行宏(通过单击电子邮件编辑器窗口快速访问工具栏中的图标)。宏将插入日期。

(假设日期已存储为字符串变量,即宏只是在电子邮件正文的所需位置插入一个变量)。

我发现的所有用于将文本插入电子邮件正文的 Outlook VBA 示例都涉及将活动电子邮件的 HTMLBody 存储为字符串,将所需文本附加到该字符串,然后创建一个全新的电子邮件,并重新填充 to、cc、bcc、主题和 htmlbody。我希望避免这种情况,因为它看起来很笨重。

预先感谢您的帮助。

0m3*_*m3r 7

InsertBefore 方法InsertAfter 方法

Inspector.WordEditor 属性 (Outlook)

Application.ActiveInspector 方法 (Outlook)

例子

Option Explicit
Public Sub Example()
    Dim Inspector As Outlook.Inspector
    Dim wdDoc As Word.Document
    Dim Selection As Word.Selection
        

    Set Inspector = Application.ActiveInspector()
    Set wdDoc = Inspector.WordEditor
    Set Selection = wdDoc.Application.Selection
        Selection.InsertBefore Format(Now, "DD/MM/YYYY")
    
    
    Set Inspector = Nothing
    Set wdDoc = Nothing
    Set Selection = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明


参考 Microsoft Word xx.x 对象库


通过"Alt + F11"按键或单击"Visual Basic"“开发人员”功能区中的按钮转到 Outlook VBA 编辑器。

  • 1.在 VBA 编辑器窗口中,单击菜单栏中的“工具”按钮。

  • 2.然后,从下拉列表中选择“参考”选项。

在此处输入图片说明

  • 3.在对话框中,您可以向下拉滚动条,直到找到您想要的内容,例如“Microsoft Word XX.X Object Library”。

在此处输入图片说明