【发布时间】:2022-08-16 19:55:47
【问题描述】:
我创建了一个 Outlook 模板,我想在其中替换某些部分。
如果我在替换信息之前.display 模板,这将有效。
如果我在显示之前替换,它只会替换一些信息。
下面是我的一段代码:
With Email
.To = AppLog.Cells(BatchRow, 23).Value
.Subject = Replace(Email.Subject, \"<Service>\", BatchServiceNumber)
.Subject = Replace(Email.Subject, \"<BatchNumber>\", BatchNumber)
.HTMLBody = Replace(Email.HTMLBody, \"%Examiner%\", AppLog.Cells(BatchRow, 22).Value)
.HTMLBody = Replace(Email.HTMLBody, \"%Service%\", BatchServiceNumber)
.HTMLBody = Replace(Email.HTMLBody, \"%BatchNumber%\", BatchNumber)
\'Priority info:
If BatchServiceNumber = \"2P\" Or BatchServiceNumber = \"2PS\" Then
.HTMLBody = Replace(Email.HTMLBody, \"%P%\", \"Priority \")
.HTMLBody = Replace(Email.HTMLBody, \"%Priority%\", \"<br> Please note that this Priority Service has a deadline of two days.<br><br>\")
主题信息、%Examiner%、%Service% 和 %Priority% 被替换,但 %BatchNumber% 和 %P% 没有被替换除非电子邮件会预先显示。
如果找不到任何字段/文档,我不想显示电子邮件。
-
\"如果找不到所需的任何字段/文档,我不想显示电子邮件\" - 你不能在创建电子邮件之前检查一下吗?
-
这是我实施的当前解决方案,我同意这是最佳实践。我很想知道在我看来是一个错误的起源?
-
您最初是如何创建邮件的?您可以添加执行此操作的代码吗?
-
您在调用
Display方法之前和之后看到HTMLBody字符串有什么不同吗?您确定在调用Display方法之前存在此类条目吗?
标签: vba email templates replace outlook