0

2つの異なるCOMアドインがあります。1つはWord2003用で、もう1つはWord2007用です。

Word 2003は毎回チャームのように機能し、問題はありません...しかし、Word 2007を開くと、Word2003のボタンがWord2007リボンに表示されます。これは、アドインを無効にしたり、プロジェクトをクリーンアップした後でも発生します... Word 2003アドインのすべての.dllを削除するなど、すべてを試しましたが、問題は解決しません...

問題が何であるかについての提案はありますか?

乾杯

4

3 に答える 3

1

normal.dot以外のテンプレートでこれらのボタンを構成することにした場合、インストール時にボタンは自動的に「消えます」。

Normal.dotに変更を加えることは一般的に悪い習慣と考えられていますが、多くの人は、独自のボタンやツールバーを作成する前に「CustomizationContext」プロパティを単語で設​​定しない限り、それがまさにあなたが行っていることであり、変更していることに気づいていません。 normal.dot、およびこれらの変更は、アドインをアンインストールした後も保持されます。

于 2011-03-28T16:19:35.463 に答える
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 );
    }
于 2011-03-27T18:13:26.657 に答える
0

問題はnormal.dotテンプレートに依存していると思われます。以下を使用してボタンやコマンドバーなどを削除した後、通常のテンプレートを保存してみてください。

wordApplication.NormalTemplate.Save();
于 2011-09-04T15:54:13.780 に答える