Преобразование Outlook ActiveExplorer в ActiveInspector

#c# #outlook #vsto #add-in

#c# #outlook #vsto #надстройка

Вопрос:

У меня есть некоторый код автоматизации C #, который делает интересные вещи с Microsoft.Офис.Взаимодействие.Word.Объекты документа. ActiveInspector().WordEditor, созданный с помощью

 Document doc = Globals.ThisAddin.Application.ActiveInspector().WordEditor;
  

в VSTO надстройка Outlook создает аналогичный объект Document, который я могу использовать с моим существующим приложением. Я могу получить WordEditor, когда есть редактируемый элемент почты (например, Новое сообщение или ответ). Могу ли я, например, получить WordEditor для почтового элемента в папке «Входящие»?

Редактировать —

Дальнейшее расследование привело меня к следующему:

 Object selObject = Globals.ThisAddIn.Application.ActiveExplorer().Selection[1];
if (selObject is Outlook.MailItem)
{
    Outlook.MailItem mailItem = (selObject as Outlook.MailItem);
    Document doc = mailItem.GetInspector.WordEditor;
}
  

Спасибо Полу-Яну за то, что наставил меня на правильный путь

Ответ №1:

Нет. На самом деле ни название вашего вопроса, ни содержание не имеют особого смысла.

Активный инспектор — это представление отдельного элемента в Outlook. Поскольку эти элементы часто являются почтовыми элементами, которые можно редактировать с помощью Word, существует свойство редактора Word, к которому вы можете получить доступ, чтобы использовать его.

Активный проводник — это просмотр содержимого папки. Нет ни одного элемента, ни редактора word. Это совершенно иная концепция, чем у инспектора. Это один против многих. Это детализация по сравнению с основным. Вы поняли, в чем дело.

Надеюсь, это немного прояснит ситуацию.

Комментарии:

1. Спасибо за разъяснение. Теперь, когда вы это сказали, это имеет смысл. Я изменил свой вопрос, чтобы отразить вашу помощь в моем понимании.