0
從Outlook VSTO插件中,我想清除當前的選擇。 是否有這樣的API?在Outlook VSTO插件中,如何清除當前選擇?
從Outlook VSTO插件中,我想清除當前的選擇。 是否有這樣的API?在Outlook VSTO插件中,如何清除當前選擇?
我目前破解它暫時選擇發送的文件夾。
void ClearSelection(IRibbonControl control)
{
//Here be dragons
//Ok this looks like pointless code but it is necessary.
//For multiple items we are doing it in a background thread.
//There is a "feature" in outlook that means you cant delete
//the current selected item from a background thread.
//So we need this to clear the selection
//and NO "control.Explorer().ClearSelection();" does not work.
var explorer = GetExplorer(control);
var currentFolder = explorer.CurrentFolder;
var session = ThisAddIn.Application.Session;
var sentFolder = session.GetDefaultFolder(OlDefaultFolders.olFolderSentMail);
explorer.CurrentFolder = sentFolder;
explorer.CurrentFolder = currentFolder;
}
Explorer GetExplorer(IRibbonControl control)
{
dynamic context = control.Context;
var explorer = context.Parent as Explorer;
if (explorer == null)
{
var application = (ApplicationClass)context.Parent;
explorer = application.ActiveExplorer();
}
return explorer;
}
它看起來很奇怪,但這就像在OL世界的一切,但它的作品!謝謝! –
你有沒有想過如何做到這一點呢? –
@aloneguid不,我沒有解決這個問題。我制定瞭如何清除足夠用於我目的的選擇 – Simon
如何清除選擇? :) –