c# - 更改 Outlook 邮件项目选择 C#

标签 c# outlook add-in mailitem

我想从我的 Outlook 加载项中选择一个邮件项目。 我知道如何从 C# 显示邮件项目,但我需要在 Outlook 窗口本身中选择它。

显示邮件项目:

mailItem.Display();

我正在使用 Outlook 2010 加载项。

有人知道如何做到这一点吗?

最佳答案

使用Explorer.ClearSelection()然后Explorer.AddToSelection() 。您应该使用 Explorer.IsItemSelectableInView()在调用 AddToSelection() 之前确保您要选择的项目存在于当前资源管理器 View 中。

Application.ActiveExplorer()将为您提供当前事件的资源管理器(如果存在)。

这是一个sample snippet taken from here (稍微修改一下以检查 IsItemSelectableInView)。

Outlook._Explorer explorer = OutlookApp.ActiveExplorer();  // get active explorer
explorer.ClearSelection(); // remove current selection
Outlook.NameSpace ns = OutlookApp.Session; 
object item = ns.GetItemFromID(entryId, Type.Missing); // retrieve item
if (explorer.IsItemSelectableInView(item)) // ensure item is in current view
  explorer.AddToSelection(item); // change explorer selection
else
  // TODO: change current view so that item is selectable
Marshal.ReleaseComObject(item); 
Marshal.ReleaseComObject(ns); 
Marshal.ReleaseComObject(explorer); 

要更改当前的 Explorer View ,您可以使用 Explorer.CurrentFolderExplorer.CurrentView

关于c# - 更改 Outlook 邮件项目选择 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10205103/

相关文章:

c# - 识别 TPL 数据流中的同时任务

c# - 如何在使用自定义窗口镶边时向 WPF 标题栏添加按钮?

vba - 在 Outlook (VBA) 中 append 主题标题

c# - Word Interop 复制表格单元格的格式化文本

c# - 如何在现有 blazor 项目上启用 PWA 功能

c# - asp.net c# 中的最佳审计跟踪过程?

C# 我想将工作簿附加到 Outlook 电子邮件并在发送前预览

security - 展望安全

JavaScript 杂货 list

c# - 在 VS 中向 "Add Reference"对话框添加一个选项卡?