У меня есть надстройка, которая обычно включена для вновь создаваемых писем. Задача состоит в том, чтобы включить его для встроенного ответа / ответа на все сообщения / пересылки windows.
. Для нового сообщения электронной почты я использую Inspector.CurrentItem as Outlook.MailItem
, но для встроенного обозревателя windows мне нужно использовать Globals.ThisAddIn.Application.ActiveExplorer().ActiveInlineResponse as Outlook.MailItem
, чтобы получить mailitem object.
Все работает нормально, когда я использую Inspector
, но когда я использую ActiveInlineResponse
действительно замедляет обработку моего приложения. В какой-то момент внешний вид не отвечает вообще.
В приложении я программно добавляю вложения, пишу свойства заголовка письма, меняю тему, тело и т. Д. c ...
Может кто-нибудь объяснить, почему это происходит и как я могу это исправить? Я использую его в течение 1 дня, но безуспешно.
РЕДАКТИРОВАТЬ: Это метод, который я использую для получения текущего mailitem.
private MailItem GetMailItem()
{
Outlook.Application application = Globals.ThisAddIn.Application;
if (application != null)
{
var windowType = application.ActiveWindow();
Inspector inspector = application.ActiveInspector();
if (inspector != null && windowType is Inspector)
{
return inspector.CurrentItem as MailItem;
}
else
{
if (application.ActiveExplorer().Selection.Count > 0)
{
return application.ActiveExplorer().ActiveInlineResponse as MailItem;
}
}
}
else
{
logEx_.Log("Null outlook aplication.", EventLogEntryType.Error);
}
return null;
}
Вот как я используйте mailitem. (Я не проводил всю обработку, но в основном я добавляю вложения в mailitem, получатели, изменяю тело)
string officeEmail = string.IsNullOrWhiteSpace("foo") ? "foo1" : "foo";
Recipient recipient = mailitem.Recipients.Add(officeEmail);