Мы написали дополнение VSTO для Outlook 2010/2007.
В какой-то момент наш плагин должен конвертировать электронные письма в текстовом формате в HTML с ленточного элемента управления. Это вызывает некоторое странное поведение в Outlook:
- Мы используем COM-объект MailItem
- Устанавливаем MailItem.HTMLBody
- Электронная почта преобразуется в HTML, но по какой-то причине шрифт Times New Roman в 10pt
Шрифт по умолчанию в 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.