我想从我的Outlook插件选择的MailItem。 我知道如何显示从C#中的MailItem但我需要选择它的前景窗口本身内。
显示的MailItem:
mailItem.Display();
我使用的是Outlook 2010的插件。
任何人对如何做到这一点的任何想法?
我想从我的Outlook插件选择的MailItem。 我知道如何显示从C#中的MailItem但我需要选择它的前景窗口本身内。
显示的MailItem:
mailItem.Display();
我使用的是Outlook 2010的插件。
任何人对如何做到这一点的任何想法?
使用Explorer.ClearSelection()
然后Explorer.AddToSelection()
您应该使用Explorer.IsItemSelectableInView()
调用之前AddToSelection()
以确保存在于当前资源管理器视图要选择的项目。
Application.ActiveExplorer()
如果存在的话会给你当前活动的探险家。
这是一个从这里取样品段 ( 略作修改,以检查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
视图中,您可以使用Explorer.CurrentFolder
或Explorer.CurrentView