C# 如何以编程方式选择要在Outlook 2010中查看的文件夹?
我正在通过search.Save方法以编程方式创建一个搜索文件夹。保存搜索后(它会在搜索文件夹目录中创建一个新文件夹),我希望将焦点设置为关注此新创建的文件夹,以便视图更改为此文件夹 这是我到目前为止的代码C# 如何以编程方式选择要在Outlook 2010中查看的文件夹?,c#,outlook,vsto,outlook-2010,C#,Outlook,Vsto,Outlook 2010,我正在通过search.Save方法以编程方式创建一个搜索文件夹。保存搜索后(它会在搜索文件夹目录中创建一个新文件夹),我希望将焦点设置为关注此新创建的文件夹,以便视图更改为此文件夹 这是我到目前为止的代码 searchFolders = inboxFolder.Store.GetSearchFolders(); foreach (Outlook.Folder folder in searchFolders) { if (folder.Name == "Expiring Retentio
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()时,它会打开一个全新的检查器窗口。。。我不希望发生这种情况,我只想选择它(比如通过设置焦点?),并在它所在的同一个检查器窗口中查看它。有人知道怎么做吗
谢谢。这应该适合你 访问
应用程序
对象(或从主加载项类)。然后
this.Application.ActiveExplorer().CurrentFolder = folder;
i、 e.您可以使用ActiveExplorer的CurrentFolder
当然,始终确保正确释放COM对象(需要释放的对象),以及
您永远不应该像我在这里做的那样(为了简单起见)-即链接属性,如
那个将每个(属性)保存到变量中,并通过
Marshal.ReleaseComObject
在您离开时
这应该对你有用
访问应用程序
对象(或从主加载项类)。然后
this.Application.ActiveExplorer().CurrentFolder = folder;
i、 e.您可以使用ActiveExplorer的CurrentFolder
当然,始终确保正确释放COM对象(需要释放的对象),以及
您永远不应该像我在这里做的那样(为了简单起见)-即链接属性,如
那个将每个(属性)保存到变量中,并通过
Marshal.ReleaseComObject
在您离开时
非常感谢。这确实奏效了!我做了Globals.ThisAddIn.Application.ActiveExplorer().CurrentFolder=folder代码>@NSGaga你的答案很清楚。谢谢你。但是如何使用代码确定新创建的文件夹?请解释一下。谢谢again@KushanRandima我猜你有一个文件夹的对象,不是吗?这取决于文件夹是如何创建的,如果你对它没有影响,你就必须遍历文件夹并按时间戳或其他方式查找(我只是猜测,我暂时没有任何outlook内容:))谢谢!这确实奏效了!我做了Globals.ThisAddIn.Application.ActiveExplorer().CurrentFolder=folder代码>@NSGaga你的答案很清楚。谢谢你。但是如何使用代码确定新创建的文件夹?请解释一下。谢谢again@KushanRandima我猜你有一个文件夹的对象,不是吗?这取决于文件夹是如何创建的,如果你对它没有影响,你就必须遍历文件夹并按时间戳或其他方式查找(我只是猜测,我暂时没有任何outlook内容:)