Я изучаю создание плагина Outlook, в котором я могу выбрать разговор из папки «История разговоров», а затем нажмите кнопку, которая сохранит ее в папке. У кого-нибудь есть какие-либо указания на то, как я могу выбрать папку истории бесед и запустить поиск через C#, а также выбрать разговоры.История разговора Outlook
2
A
ответ
0
public static List<Outlook.MAPIFolder> GetFolders()
{
List<Outlook.MAPIFolder> _list = new List<Outlook.MAPIFolder>();
Outlook.MAPIFolder root = OutlookApplication.Session.DefaultStore.GetRootFolder();
foreach (Outlook.MAPIFolder folder in root.Folders)
{
_list.Add(folder);
}
return _list;
}
public static Outlook.MAPIFolder GetFolderByEntryId(string entryId)
{
List<Outlook.MAPIFolder> folders = GetFolders();
return folders.Where(x => x.EntryID == entryId).FirstOrDefault();
}
public static Outlook.MAPIFolder GetFolderByName(string folderName)
{
List<Outlook.MAPIFolder> folders = GetFolders();
return folders.Where(x => x.Name == folderName).FirstOrDefault();
}
И
public static List<Outlook.MailItem> GetSelectedItem()
{
List<Outlook.MailItem> _list = new List<Outlook.MailItem>();
Outlook.Selection outlookSelection = OutlookApplication.ActiveExplorer().Selection;
for (int i = 1; i < outlookSelection.Count; i++)
{
Outlook.MailItem mailItem = (Outlook.MailItem)outlookSelection[i];
_list.Add(mailItem);
}
return _list;
}
public static List<Outlook.MailItem> GetMailItems(string FolderName)
{
List<Outlook.MailItem> _list = new List<Outlook.MailItem>();
Outlook.MAPIFolder theFolder = OutlookApplication.Session.GetFolderFromID(GetFolderByName(FolderName).EntryID);
foreach (Object item in theFolder.Items)
{
Outlook.MailItem mailItem = (Outlook.MailItem)item;
if (mailItem != null)
{
_list.Add(mailItem);
}
}
return _list;
}
+0
Публикация решения для тех, кому это нужно. Поскольку библиотека Microsoft Document предоставляет очень окольный способ делать что-то. – TheMonkeyMan
Смежные вопросы
- 1. Включить показ в режиме разговора в Outlook programatically
- 2. Android: сохранение разговора во время разговора
- 3. Завершение разговора
- 4. sharepoint список история история экспорт в excel
- 5. История AlchemyData История Более 60 дней?
- 6. История и история Django базы данных
- 7. Параллельный вызов для разговора
- 8. Эффект разговора Gtk
- 9. Понимание телефонного разговора
- 10. Извлечение разговора в Facebook
- 11. Неограниченное поведение области разговора
- 12. Определение разговора в ботфрейме
- 13. Схема разговора Meteor/MongoDB
- 14. Измените язык разговора
- 15. Время разговора по расписанию
- 16. Отслеживать длительность телефонного разговора
- 17. Сортировка резьбового разговора
- 18. Отношение DB: реализация разговора
- 19. Blackberry Список сообщений разговора
- 20. Получить результаты телефонного разговора
- 21. История .NET
- 22. История IE
- 23. История истории
- 24. История WebView
- 25. История генерации
- 26. История AccountStatus
- 27. История журнала MAPI/журнал изменений
- 28. Индексы разговора по почте в Outlook 2016 различаются в отправленных и полученных сообщениях
- 29. Лучший способ добиться разговора по почте для почтовой папки с использованием API Outlook REST
- 30. Могу ли я изменить идентификатор разговора в Outlook VBA для группировки независимых писем?
Также при использовании моих методов ниже обязательно использовать Global.OutlookApplication или все, что вы вызываете надстройку. Из этого он возвращает список почтовых объектов, поэтому просто отформатируйте его на любой источник данных, который вы хотите отобразить на каждом его поле. – TheMonkeyMan
Может также поставить этот комментарий в ответ. – R0MANARMY