如何以编程方式选择要在Outlook 2010中查看的文件夹?

时间:2013-04-19 21:47:10

标签: c# outlook vsto outlook-2010

我通过Search.Save方法以编程方式创建搜索文件夹。保存搜索后(它在搜索文件夹目录中创建一个新文件夹),我想设置为关注这个新创建的文件夹,以便视图更改为此文件夹。

这是我到目前为止的代码....

searchFolders = inboxFolder.Store.GetSearchFolders();
foreach (Outlook.Folder folder in searchFolders)
{
    if (folder.Name == "Expiring Retention Policy Mail")
    {
        folder.ShowItemCount = Microsoft.Office.Interop.Outlook.OlShowItemCount.olShowTotalItemCount;
        //folder.SetCustomIcon(new Bitmap(32, 32));
        folder.Display();
    }
}

当我执行folder.Display()时,它会打开一个全新的检查窗口......我不希望这种情况发生,我只是想选择它(比如通过设置焦点?)并让它在它存在于同一个检查员窗口。有人知道怎么做吗?

谢谢。

1 个答案:

答案 0 :(得分:4)

这对你有用......

访问您的Application对象(或从主要的加载项类)。然后

this.Application.ActiveExplorer().CurrentFolder = folder;  

即。您可以使用CurrentFolder

ActiveExplorer
  

当然,始终确保正确释放您的COM对象(需要释放的对象) - 以及   你不应该像我在这里做的那样(为了简单起见) - 即链接属性,如   那。将每个(属性)保存到变量中,然后释放   在你出去的时候Marshal.ReleaseComObject