2011-07-27 8 views
3

Visual Studio 2010を使用して、基本的なコントロールをいくつか含むリボンを持つOffice 2010 Wordアドインプロジェクトを作成しました。私はまだコードを追加していない。プロジェクトをデバッグすると、Wordが起動し、そのリボン( "リボン1")が表示されます。すべての良い今のところ、しかし...Officeアドインリボンはデバッグ後に消えません

問題1:は、今私は同じリボンがまだある任意の Word文書を開きます!

問題2:私は別のプロジェクトで取り組んでいる2番目のリボン(「リボン2」)を持っています。私はそれをデバッグすると、リボン1とリボン2の両方が1つのリボンとして結合されたように見えます!そして、その組み合わせたリボンは、次に Word文書を開くときに表示されます。

両方の問題の原因は、デバッグを停止すると、Visual Studioがリボンを適切にアンインストールしていないことが原因と考えられます。私は手動でリボンを自分でインストールし、その後VSTOInstaller.exe経由でアンインストールすることで回避しています。本当の苦痛です。

デバッグを停止すると、リボンが完全に取り外されていることを確認するにはどうすればよいですか?

(私は同様の質問hereを見つけましたが、どちらも答えは明らかです。)

+0

問題#2(複数のアドインが同じリボンに結合されています)は、誤った設定が原因です。 RibbonTabにはControlId = "TabAddIns"があり、これは予約済みのOfficeタブです。 ControlIdTypeをCustomに変更し、一意のControlIdを入力すると、アドインは常に別々に表示されるようになりました。 – Keith

答えて

4

VSTOアドインをインストールすると、それは言葉のためにHKEY_CURRENT_USER\Software\Microsoft\Office\Word\Addins下のWindowsレジストリに追加されます。

最も簡単なのは、自分のアドインをレジストリの場所から削除する独自のコンソールアプリケーションを作成することです。あなたのアドインと同じ名前のサブキーを削除するだけです。デバッグセッションが終了したら、そのユーティリティを実行することができます。

自動的に実行されるようにするには、デバッグを停止してそこのレジストリからアドインを削除すると発生するイベントに対してVisual Studioにフックする方法を理解する必要があります。私はそれのような何かを試みたことはありません。

+0

ありがとう!残ったレジストリエントリを削除するプロジェクトに.regファイルを追加しました。ポストデバッグイベントにワイヤリングする方法がわからないので、デバッグを行うたびにダブルクリックするだけです。ちょっと迷惑ですが、私が暮らすことができるものです。 – Keith

関連する問題