使用模板在VBA中创建的Outlook电子邮件在保存时会转换为纯文本

时间:2018-01-19 17:32:49

标签: vba email outlook outlook-vba

以下是我在ThisOutlookSession中运行的代码。代码用于检查所有传入的电子邮件,如果电子邮件来自某个电子邮件地址并且包含主题中的特定字符串,则会从模板创建新电子邮件并附加触发电子邮件,然后将电子邮件发送到不同的电子邮件地址。这部分一切正常。

另请注意我使用的是Windows 10和Office 2016.

我遇到的问题是电子邮件转换为纯文本,除非先显示。我创建的模板保存为HTML格式的消息。我尝试过添加

等行
mvn clean dependency:copy-dependencies package

但是这似乎不起作用,因为发送的电子邮件仍然是纯文本格式。如果我将以下内容添加到消息中它基本上可以正常工作。

NewMsg.BodyFormat = olFormatHTML
NewMsg.save

但是上面的代码块会删除我模板中保存的大量格式,例如不同的字体/字体大小。

我是否遗漏了在VBA中使用模板的事情?

此外,我首先显示消息的问题是两件事。显而易见的是闪烁,因为短暂显示消息。第二个是我的默认签名也被添加到显示的消息中,但我想使用我在模板中内置的自定义签名。

以下是删除敏感信息的完整代码。

NewMsg.BodyFormat = olFormatRichText
NewMsg.save
NewMsg.BodyFormat = olFormatHTML
NewMsg.save

1 个答案:

答案 0 :(得分:1)

重置HTMLBody属性 - 这将强制HTML格式:

Msg.HTMLBody = Msg.HTMLBody