/ / Історія розмов Outlook - c #, Outlook, office-interop

Історія розмови Outlook - c #, Outlook, office-interop

Я дивлюся на створення модуля Outlook для цьогоЯ можу вибрати розмову з папки "Історія розмови", а потім натисніть кнопку, яка зберігає її в папці. Хто-небудь має будь-які вказівки щодо того, як я можу вибрати папку «Історія розмови» та запустити пошук за допомогою C #, а також вибрати розмови.

Відповіді:

0 для відповіді № 1
    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;

}