所以我有两个不同的COM插件,一个用于单词2k3,另一个用于2k7。单词2k3每次都像魅力一样,没有问题......但是现在当我打开单词2k7时,2k3的按钮出现在我的2k7彩带中。即使在我禁用我的插件或清理我的项目之后,这仍然会发生...我已经尝试了所有内容,包括删除我的2k3插件的所有dll但问题仍然存在...
有关问题的任何建议?
欢呼声
答案 0 :(得分:1)
如果您在模板中配置这些按钮而不是normal.dot,那么它们将自动地“消失”#34;安装时。
对Normal.dot进行更改通常被认为是不好的做法,但很多人都没有意识到,除非你设置&#34; CustomizationContext&#34;在创建你自己的按钮和工具栏之前的单词属性,这正是你正在做的,修改normal.dot,并且这些更改将在你卸载你的插件后继续存在。< / p>
答案 1 :(得分:0)
作为卸载过程的一部分,您必须“手动”删除该按钮。这是我使用的代码:
public static void removeWordToolbarButton(
Microsoft.Office.Interop.Word.Application word )
{
var commandBar = word.CommandBars["Tools"];
var btn = commandBar.FindControl(
Microsoft.Office.Core.MsoControlType.msoControlButton,
System.Reflection.Missing.Value,
"name_of_the_button",
System.Reflection.Missing.Value,
System.Reflection.Missing.Value ) as Microsoft.Office.Core.CommandBarButton;
if ( btn != null )
{
btn.Delete( -1 );
Marshal.ReleaseComObject( btn );
}
Marshal.ReleaseComObject( commandBar );
}
答案 2 :(得分:0)
我怀疑问题依赖于normal.dot模板。 使用以下命令删除按钮,命令栏等后尝试保存普通模板:
wordApplication.NormalTemplate.Save();