VBA用用户窗体文本框和组合框替换Outlook HTML模板中的所有占位符

问题描述

我不是程序员,但是我喜欢创建一些小的宏来节省迭代任务的时间。现在,我正在尝试创建一个用户表单,该表单可以在HTML模板上替换少量占位符。

到目前为止我编写的代码

Private Sub CommandButton1_Click()

    Dim OutApp As Object
    Dim OutMail As Outlook.MailItem
    
    Set OutApp = CreateObject("outlook.application")
    Set OutMail = Application.CreateItemFromTemplate("C:\path\ciccio.oft")
  
    With OutMail
        .To = TextBox4.Text
        .CC = ""
        .BCC = ""
              
        .HTMLBody = Replace(.HTMLBody,"###PLACEHOLDER1###",TextBox1.Text)
        .HTMLBody = Replace(.HTMLBody,"###PLACEHOLDER2###",ComboBox1.Text)

        Unload UserForm2
        .display
    End With
   
    Set OutMail = nothing
  Set OutApp = nothing

End Sub

这在纯文本主体上很好用,但是在HTML主体上只是拒绝替换所有.. 甚至看起来有点随机。.所以有些东西被替换了,其余的没有。

有帮助吗?

解决方法

已解决。

问题在于html主体的格式如何。我已经编辑了其他文件中的占位符单词,然后直接在模板上复制并保存。