问题描述
||
我们已经为Outlook 2010/2007编写了VSTO插件。
一方面,我们的插件必须从功能区控件将纯文本电子邮件转换为HTML。这在Outlook中导致一些奇怪的行为:
我们正在使用MailItem COM对象
我们设置MailItem.HTMLBody
电子邮件已转换为HTML,但由于某种原因,字体为Times at 10pt的Roman
Outlook中的默认字体是Calibri 11pt,这使我们的电子邮件转换对用户来说看起来很奇怪。当您使用Outlook中的现有按钮转换为HTML时,它可以按预期工作,但是使用我们的外接程序的按钮时,它却无法正常工作。
因此,我们尝试了以下方法:
提前设置MailItem.BodyFormat
将我们的电子邮件文本包装为:“ 0”(通过查看新的Outlook电子邮件的来源,我们有了这个主意)
只要将字体更改为Calibri,在电子邮件正文周围包裹1标签就可以了,但是字体大小保持在10pt ...
有一个更好的方法吗?另一个解决方法?
编辑,工作代码:
if (_mailItem.BodyFormat != OlBodyFormat.olFormatHTML)
{
_mailItem.GetInspector.CommandBars.ExecuteMso(\"messageformatHtml\");
}
_mailItem是Microsoft.Office.Interop.Outlook.MailItem。
解决方法
您有两种方法:
通过ѭ3以编程方式“单击”内置按钮
关闭检查器,转换消息格式,保存电子邮件,然后重新打开。