替换 HTML 正文中的文本

use*_*348 5 email outlook vba

我正在尝试替换 Outlook 2010 中已创建的模板正文中的文本。这样做的目的是让用户可以相当轻松地更新电子邮件发送到的联系人。

Sub NewUserEmail()

Dim myItem As Outlook.MailItem
Dim strContact As String
Dim strCompanyName As String
Dim strHTML As String

Set myItem = Application.CreateItemFromTemplate( _
      "C:\Users\jim.reagan\AppData\Roaming\Microsoft\Templates\NewUserEmail.oft")
    strHTML = myItem.HTMLBody
    strContact = InputBox("What is the Contact's name?")
    myItem.HTMLBody = Replace(myItem.HTMLBody, "%<Contact>%", strContact)

myItem.Display
End Sub
Run Code Online (Sandbox Code Playgroud)

该模板将打开以供审核,但尚未对电子邮件正文进行任何替换。如果我使用 myItem.Body 替换有效,但随后我会丢失电子邮件的格式。我缺少什么?

use*_*348 3

我不知道如何标记或标记这个问题的答案,但这是我从蒂姆·威廉姆斯提供的编辑中得到的代码,感谢您的帮助:

Sub NewUserEmail()

    Dim myItem As Outlook.MailItem
    Dim strContact As String
    Dim strCompanyName As String
    Dim strHTML As String


    Set myItem = Application.CreateItemFromTemplate("C:\file location\file.oft")
    strHTML = myItem.HTMLBody
    strContact = InputBox("What is the Contact's name?")
    myItem.HTMLBody = Replace(myItem.HTMLBody, "%CONTACT%", strContact)

    myItem.Display

End Sub
Run Code Online (Sandbox Code Playgroud)