是否可以通过编程方式重命名 Outlook 类别?
我们正在开发 Outlook 2007 加载项。为了测试 Outlook 类别重命名,我已将以下代码块添加
var session = Application.Session;
var categories = session.Categories;
var category1 = session.Categories[1];
//catefory1.Name is "Group1" before executing line below
category1.Name = "TEST!!!";
Marshal.ReleaseComObject(category1);
Marshal.ReleaseComObject(categories);
Marshal.ReleaseComObject(session);
到加载项 private void ThisAddIn_Startup(object sender, EventArgs e)
方法的末尾。
类别已重命名,但如果 Outlook 关闭,以上行将被注释,并再次启动 Outlook - 类别名称不是“TEST!!!”正如我所料。它是重命名之前的“Group1”。是否可以通过代码将 Outlook 类别重命名为“永远”? Microsoft.Office.Interop.Outlook.Category 没有 Save() 或 Update() 或 Persist() 方法。
PS 我们正在使用 Visual Studio 2008、.net 3.5、C# 3 开发 Outlook 2007 加载项。 Outlook 2007 SP1 和 SP2 会重现该问题。其他 Outlook 版本未测试。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我已经使用 hack 解决了这个问题(问题本身似乎是 Outlook 2007 bug)。
以下链接帮助我创建了黑客(哎呀,没有足够的声誉来发布超过 1 个链接):
黑客本身如下所示:
必须在类别重命名之前调用此辅助方法,例如:
I have solved the problem (the problem itself seems to be Outlook 2007 bug) using a hack.
The following links helped me to create the hack (oops, not enough reputation to post more then 1 link):
The hack itself is show below:
This helper method must be called prior to category renaming, e.g.:
这是 Outlook 2007 SP2 中引入的 Outlook 错误。
“考虑以下场景。您有一个自定义应用程序,可以运行该应用程序在 Outlook 2007 中创建新类别。
您运行该应用程序在 Outlook 2007 中创建一个新类别。然后,如果您重新启动 Outlook 2007,您创建的类别将被意外删除。安装二月累积更新或 SP2 后会出现此问题。”
自 2009 年 6 月 30 日起有一个修补程序可用:
http://support.microsoft.com/default.aspx/kb/970944/ en
问候,
蒂姆
This is an Outlook bug introduces with Outlook 2007 SP2.
"Consider the following scenario. You have a custom application that can be run to create new categories in Outlook 2007.
You run the application to create a new category in Outlook 2007. Then, if you restart Outlook 2007, the category that you created is removed unexpectedly. This problem occurs after you install the Februarycumulative update or SP2."
There is a hotfix available since June 30, 2009:
http://support.microsoft.com/default.aspx/kb/970944/en
Regards,
Tim