Vba 创建新html电子邮件时保留默认outlook格式

Vba 创建新html电子邮件时保留默认outlook格式,vba,outlook,Vba,Outlook,我正在尝试创建一个简单的脚本来创建html消息,并且我希望尽可能多地保留默认值 在我的例子中,当我使用Home->new mail创建一封新邮件时,它总是会创建一封带有默认字体[Calibri 11']、格式文本Html以及签名的邮件 如果我使用函数Application.CreateItem(olMailItem)它会创建没有问题的邮件 但是,只要我用.HTMLBody声明一个html正文,它就会覆盖格式:font[Times New Roman 12'],并且也不带签名 更令人惊讶的是:如果

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

在我的例子中,当我使用Home
->
new mail创建一封新邮件时,它总是会创建一封带有默认字体[Calibri 11']、格式文本Html以及签名的邮件

如果我使用函数
Application.CreateItem(olMailItem)
它会创建没有问题的邮件

但是,只要我用
.HTMLBody
声明一个html正文,它就会覆盖格式:font[Times New Roman 12'],并且也不带签名

更令人惊讶的是:如果我使用在线找到的“技巧”保留签名(见下面的代码),那么字体将被覆盖为[Calibri 10'](默认值下一点)

有什么建议/解释吗

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

子测试消息1()
Dim objMsg作为邮件项
设置objMsg=Application.CreateItem(olMailItem)
使用objMsg
.To=”test@domain"
.Subject=“测试邮件”
.HTMLBody=“您好,

您能回顾一下这个节目吗 .展示 以 端接头
编写带有签名的html邮件(字体的不同更改):

子测试消息2()
Dim objMsg作为邮件项
设置objMsg=Application.CreateItem(olMailItem)
使用objMsg
.To=”test@domain"
.Subject=“测试邮件”
.展示
.HTMLBody=“您好,

您能回顾一下这个节目吗

问候,

”&objMsg.HTMLBody 以 端接头
您需要将文本或格式良好的HTML标记粘贴在
标记的正后方和关闭
标记的正前方。在这种情况下,将保留所有格式首选项

在第一个脚本中,使用
标记不起作用。然而,在第二种情况下,使用
标记是有效的,例如
.HTMLBody=“Hello,

”&objMsg.HTMLBody
so+1作为答案并不完全如此。。。您需要将文本或标记插入
标签。非常抱歉,我看不出我遗漏了什么。如果我写得像
.HTMLBody=“Hello”
那么简单,那么我已经将我的全部文本(一个单词)插入了
标签。但文本并没有正确显示。您最终是否有一个适用于您的示例代码?
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
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