Anderson Rissardi
У меня есть небольшой опыт работы с надстройками на c#, но я верю, что вы поймете эту концепцию.
Я считаю, что вы должны использовать Microsoft.Офис.Взаимодействуйте с классами COM, чтобы создать его.
Чтобы найти текущий выбранный Microsoft.Офис.Взаимодействие.Прогноз.Сообщения Вы можете использовать это:
Outlook.MailItem Email = null;
Outlook.Inspector actInspector = Outlook.Application.ActiveInspector();
if (actInspector == null)
{
Outlook.Explorer explorer = Outlook.Application.ActiveExplorer();
try
{
Email = explorer.GetType().InvokeMember("ActiveInlineResponse", System.Reflection.BindingFlags.GetProperty | System.Reflection.BindingFlags.Instance |
System.Reflection.BindingFlags.Public, null, explorer, null) as Outlook.MailItem;
}
finally
{
Marshal.ReleaseComObject(explorer);
}
}
else
{
try
{
Email = actInspector.CurrentItem as Outlook.MailItem;
}
finally
{
if (actInspector != null) Marshal.ReleaseComObject(actInspector);
}
}
это пришло от
http://stackoverflow.com/questions/40973773/how-to-reliably-know-what-object-is-current-in-focus-outlook-window-i-e-an-e/40979666#40979666
Чтобы получить все выбранные элементы MailItem в проводнике, вы можете использовать следующее:
Outlook.Explorer explorer = null;
Outlook.Selection selection = null;
try
{
explorer = Global.OutlookApp.ActiveExplorer();
selection = explorer.Selection;
//selection.Count; --Example
foreach (MailItem item in selection)
{
//item.Subject -- Example
}
}
finally
{
if (selection != null)
Marshal.ReleaseCOMObject(selection);
if (explorer != null)
Marshal.ReleaseCOMObject(explorer);
}
Vijay533
Привет Андерсон Риссарди,
Я попытался добавить Microsoft.Офис.Interop.Word.dll в мой проект и получаю следующую ошибку.
Ошибка C1083: не удается открыть файл библиотеки типов: 'c:\program файлы\microsoft visual studio 10.0\инструменты visual studio для office\pia\office14\microsoft.office.interop.word.dll': ошибка загрузки библиотеки типов / DLL.