【发布时间】:2011-09-01 18:20:19
【问题描述】:
我们为 Outlook 2010/2007 编写了 VSTO 插件。
在某一时刻,我们的插件必须将纯文本电子邮件从功能区控件转换为 HTML。这会导致 Outlook 出现一些奇怪的行为:
- 我们正在使用 MailItem COM 对象
- 我们设置 MailItem.HTMLBody
- 电子邮件已转换为 HTML,但出于某种原因,字体是 10pt 的 Times New Roman
Outlook 中的默认字体是 Calibri 11pt,这让我们的电子邮件转换对用户来说看起来很奇怪。当您使用 Outlook 中的现有按钮转换为 HTML 时,它可以按预期工作,但在使用我们的插件按钮时不会。
所以我们尝试了以下方法:
- 提前设置 MailItem.BodyFormat
- 将我们的电子邮件文本包装为:
<span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'></span>(我们通过查看新 Outlook 电子邮件的来源获得了这个想法)
将<span> 标签包裹在电子邮件正文周围可以将字体更改为 Calibri,但字体大小保持在 10pt...
有没有更好的方法来做到这一点?另一种解决方法?
编辑,工作代码:
if (_mailItem.BodyFormat != OlBodyFormat.olFormatHTML)
{
_mailItem.GetInspector.CommandBars.ExecuteMso("MessageFormatHtml");
}
_mailItem 是 Microsoft.Office.Interop.Outlook.MailItem。
【问题讨论】:
标签: c# .net outlook vsto outlook-addin