在创建新的html电子邮件时保持默认的Outlook格式

时间:2017-05-09 12:17:45

标签: vba outlook-vba

我正在尝试创建一个简单的脚本来创建一个html消息,我想尽可能多地保留默认值。

在我的情况下,当我使用Home ->新邮件创建新邮件时,它将始终使用默认字体[Calibri 11'],格式文本Html以及签名创建邮件。

如果我使用函数Application.CreateItem(olMailItem),它会毫无问题地创建邮件。

然而,只要我声明一个带有.HTMLBody的html正文,它就会覆盖格式:font [Times New Roman 12'],也没有签名。

更令人惊讶的是:如果我使用'技巧'在网上找到保留签名(见下面的代码),然后字体将被覆盖到[Calibri 10'](默认情况下一点)

任何建议/解释?

创建html邮件的简单脚本(更改字体+无签名):

Sub TestMessage1()
Dim objMsg As MailItem
Set objMsg = Application.CreateItem(olMailItem)
With objMsg
    .To = "test@domain"
    .Subject = "test Mail"
    .HTMLBody = "<p>Hello,<br><br>Could you please review this program<br><br>Regards,</p>"
    .Display
End With
End Sub

使用签名(不同的字体更改)编写html邮件:

Sub TestMessage2()
Dim objMsg As MailItem
Set objMsg = Application.CreateItem(olMailItem)
With objMsg
    .To = "test@domain"
    .Subject = "test Mail"
    .Display
    .HTMLBody = "<p>Hello,<br><br>Could you please review this program<br><br>Regards,</p>" & objMsg.HTMLBody
End With
End Sub

1 个答案:

答案 0 :(得分:1)

您需要在<body>标记之后和结束</body>标记之前粘贴文本或格式正确的HTML标记。在这种情况下,将保留所有格式首选项。