vba - 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 正文。我已经在其他文件中编辑了占位符单词,然后直接复制到模板上,保存它。
推荐阅读
- html - 如何在网页中包含示例 html 代码
- python - 我的代码使用超过 25GB 的内存和崩溃
- javascript - 当我滥用区间 Observable 时如何释放内存?
- spring-boot - 设置 GOOGLE_APPLICATION_CREDENTIALS 后,Google 云存储为部署在 GKE 上的 Spring 应用程序返回 401
- directed-acyclic-graphs - 你能让 Nextflow DAG 可视化变得漂亮吗?
- c++ - 当我使用计数功能时,Getline 不起作用
- angular - Angular NGX-SOAP 请求获取 ERR_RESPONSE_HEADERS_TRUNCATED
- python - 通过 pandas.cut() 函数创建 bin 后,如何有效地将每个值标记到 bin 中?
- flutter - MultiBlocProvider 中的 BlocProvider 事件不会在屏幕加载时发送。扑
- sql - 基于日期在 Postgres SQL 中添加计算列