2
我正在研究创建一个Outlook插件,可以从对话历史记录文件夹中选择一个对话,然后单击将其保存到文件夹的按钮。有没有人有任何指示我如何选择对话历史记录文件夹和通过C#运行搜索以及选择对话。Outlook对话历史记录
我正在研究创建一个Outlook插件,可以从对话历史记录文件夹中选择一个对话,然后单击将其保存到文件夹的按钮。有没有人有任何指示我如何选择对话历史记录文件夹和通过C#运行搜索以及选择对话。Outlook对话历史记录
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;
}
发布任何需要它的解决方案。由于微软文档库提供了一个非常迂回的做事方式。 – TheMonkeyMan
还用我的方法时,下面一定要使用Global.OutlookApplication或任何你所呼叫的加载项。 从那里它返回一个邮件对象列表,所以只是格式化它,你想要显示它的每个领域的任何数据源。 – TheMonkeyMan
也可以把这个评论放入答案中。 – R0MANARMY