因此,我得到了兩個不同的COM加載項,一個用於單詞2k3,一個用於2k7。單詞2k3每次都像魅力一樣,沒有問題等等......但現在當我打開單詞2k7時,2k3中的按鍵出現在我的2k7功能區中。這仍然發生,即使我禁用我的插件或清理我的項目...我已經嘗試了一切,包括刪除所有DLL爲我的2K3插件,但問題仍然存在... ...COM加載項不會在Word 2007中消失
什麼問題是什麼建議?
歡呼
因此,我得到了兩個不同的COM加載項,一個用於單詞2k3,一個用於2k7。單詞2k3每次都像魅力一樣,沒有問題等等......但現在當我打開單詞2k7時,2k3中的按鍵出現在我的2k7功能區中。這仍然發生,即使我禁用我的插件或清理我的項目...我已經嘗試了一切,包括刪除所有DLL爲我的2K3插件,但問題仍然存在... ...COM加載項不會在Word 2007中消失
什麼問題是什麼建議?
歡呼
如果您在模板比normal.dot另一方面,他們會自動「消失」當您安裝配置這些按鈕的一個點。
對Normal.dot進行更改通常被認爲是不好的做法,但很多人沒有意識到,除非在創建之前將單詞中的「CustomizationContext」屬性設置爲自己的按鈕和工具欄,重做,修改normal.dot,並且這些更改將在您卸載外掛程序後繼續存在。
必須「手動」刪除按鈕,您的卸載過程的一部分。這是我使用的代碼:
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);
}
我懷疑問題依賴於normal.dot模板。 嘗試保存正常模板後刪除按鈕,命令欄等使用:
wordApplication.NormalTemplate.Save();
這是否也適用於COM添加以及? – kUr4m4 2011-03-28 17:42:08
另外,如果它確實在normal.dot中,我該如何解決問題?我在選項這個單詞上看了一下,我沒有在那裏顯示任何特別的添加...:/ – kUr4m4 2011-03-28 17:47:14
插件不會在normal.dot中,但是如果你在十六進制編輯器中打開該文件並瀏覽通過它,你應該看到菜單和工具欄的定義,名稱等等。唯一的方法是刪除它是在這裏使用danbystroms的代碼或只是刪除normal.dot並讓word重新生成它(這是我通常做的,以及很多客戶端,所以我一直都很努力,不要因爲這個原因而依賴於Normal.dot。 – DarinH 2011-03-29 14:12:35