我们正在开发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()方法。
P.S.我们正在使用Visual Studio 2008,.net 3.5,C#3开发Outlook 2007加载项。 此问题与Outlook 2007 SP1和SP2一起再现。其他Outlook版本未经测试。
我不知道这是相关的:http://blogs.officezealot.com/legault/archive/2009 /08/13/21577.aspx – Fionnuala 2010-01-05 17:16:18
Remou,感谢您的评论,但不幸的是,提供的链接中描述的问题与以编程方式添加类别有关,并且仅与Outlook 2007 SP2相关。给定的解决方案并不能解决我们面临的“重命名问题”。 – Kluyg 2010-01-06 06:22:51