Outlook.MailItem.HTMLBody не обновляется при обновлении по встроенному ответу - PullRequest
0 голосов
/ 26 октября 2018

При установке MailItem.HTMLBody для встроенного ответа иногда обновленное тело никогда не отображается. Если я звоню на MailItem.Save(), иногда он появляется, но только при сохраненном предварительном просмотре. Кто-нибудь знает способ заставить рендеринг обновленной HTMLBody?

Некоторые дополнительные выводы:

  • Для писем только с простым текстом (но MailItem.BodyFormat OlBodyFormat.olFormatHTML), это всегда происходит.
  • Для электронных писем с HTML-содержимым и изображениями это происходит, если пользователь выбирает для загрузки внешний контент при ответе
  • Для электронных писем с HTML-содержимым и изображениями этого НЕ происходит, если пользователь решает не загружать внешний контент

Я пытался использовать разные маршруты для получения MailItem через проводник, и все они приводили к одним и тем же результатам. Вот разные методы, которые я пробовал, на случай, если я что-то пропустил:

  1. Через Outlook.Application.Explorers.NewExplorer обработчик событий arg
  2. Через ActiveInlineResponse собственность

explorer = OutlookApp.ActiveExplorer ();

response = explorer.ActiveInlineResponse;

  1. Через InvokeMember("ActiveInlineResponse"...

explorer = OutlookApp.ActiveExplorer ();

response = explorer.GetType (). InvokeMember ("ActiveInlineResponse", BindingFlags.GetProperty | BindingFlags.Instance | BindingFlags.Public, null, explorer, null) как MailItem;

Окружающая среда:

  • Офисная версия: 16.0.10827.20118
  • Windows 10
  • Office 2007 Первичное взаимодействие
  • ВСТО 2010

1 Ответ

0 голосов
/ 06 ноября 2018

Для интересующихся я выяснил, что вызывает такое поведение.Это не полностью объясняет основную проблему, но, по крайней мере, у нас есть обходной путь.

Перед настройкой HTMLBody мы обратились к документу, чтобы получить выделенный текст через Document doc = MailItem.GetInspector.WordEditor.

Изменение этого значения на Document doc = ActiveExplorer.ActiveInlineResponseWordEditor устранило проблему, описанную выше.

...