Visual Studio 2008でExcelとWordのアドインテンプレートを使用してリボンに追加するプロジェクトを作成しましたが、共有アドインに問題があります。私はリボンに変更して追加するためにXMLファイルを使用するadd inを作成し、追加されたボタンからイベントをキャッチすることができますが、私の人生にとっては、ボタンを隠す方法や、起動して実行しています。基本的にはリボンへの参照が必要ですが、IRibbonUiを実装するオブジェクトへの参照は役に立ちません。誰も良い共有アドインの例やアドバイスを持っていますか?VSTO - リボンを変更するためのWordとExcel用の共有アドイン
2
A
答えて
2
リボンコントロールの表示を制御するには、2つの方法があります。 visibleプロパティまたはgetVisibleイベントのいずれかを使用できます。どちらの方法でも、すでに使用しているxmlファイルを変更する必要があります。
これが今、あなたの部分的なxmlファイルの場合:
<button id="MyButton" label="Hello" onAction="MyButtonOnAction"/>
は、その後、あなたがそれを変更することにより、コントロールを非表示にすることができます:それはハードコードされて
<button id="MyButton" label="Hello" onAction="MyButtonOnAction" visible="false"/>
これは多くの使用ではありません。近づくために、どのようなあなたに変更するためのXMLを探しています:
<button id="MyButton" label="Hello" onAction="MyButtonOnAction" getVisible="MyButtonGetVisible"/>
そして、あなたはこの署名(C#)を持っていることを起こるMyButtonGetVisibleコールバックを作成MyButtonOnActionコールバックを行っているのと同じ方法で:
bool MyButtonGetVisible(IRibbonControl control)
このメソッドを使用すると、ボタンを表示/非表示するかどうかによって、trueまたはfalseを返すことができます。次の質問は、MyButtonGetVisibleコールバックが、アドインが読み込まれた直後に1回だけ呼び出されることです。後でボタンを表示/非表示にしたいのですが、どのようにコールバックをトリガーするのですか?
これを実行するには、そのIRibbonUIオブジェクトを使用し、Invalidate関数を呼び出して、リボン全体を無効にしてコールバックを呼び出すことができます。より細かい制御が必要な場合は、ControlIDをパラメータとするInvalidateControl関数を呼び出すことができ、コールバックを呼び出す1つのコントロールのみを無効にします。
オンザフライでコントロールを追加することについては、私はそれが可能であるとは思わない。私はお勧めし
関連する問題
- 1. Microsoft Word Web Add-Inは、VSTOアドインでリボンのカスタマイズを共有できますか?
- 2. VSTOリボンとXLAアドイン
- 3. VSTO ExcelアドインWPF UIウィンドウの所有者
- 4. は、Excel VSTOアドイン
- 5. VSTO Wordアドインをアクティブにする方法?
- 6. Microsoft Word - PC間でカスタマイズされたリボンを共有
- 7. vstoアドインを使用してOutlookリボンにグループを再配置する方法
- 8. 共有フォルダにWordアドインを公開する
- 9. C#で書かれたMS Word VSTOアドインのデプロイ
- 10. Visual Studio Expressを使用したVSTO Excelアドイン
- 11. VSTO Excelアドインがロードされない
- 12. ネイティブコードDLL付きExcel 2016 VSTOアドイン
- 13. VSTOアプリケーション用のプロジェクト間リボンの作成
- 14. OutlookのVSTOアドインは情報ボックスのテキストを変更します
- 15. VSTOアドインとVBAのパフォーマンス
- 16. Wordアドインのテーブルを更新する
- 17. Wordアドインでリボンにボタンが作成されていません
- 18. カスタムリボンのWord 2007アドイン - 保存されたドキュメントにリボンが表示されない
- 19. VSTOアドインでのSetProcessDPIAware
- 20. Outlook COM/VSTOとOffice JSアドインの間でユーザーのローミング設定を共有する方法
- 21. VSTO Excelアドインのチャート情報を読み取る
- 22. ExcelブックをVSTO Excelアドインに組み込む
- 23. PowerPoint Webアドイン実行時のリボン操作
- 24. ExcelファイルをVSTOアドインに関連付けるようにする
- 25. Office 2007/2003 VSTO共有アドインデザインクエリ
- 26. VSTO AddInリボンのKeyTipプロパティをどのように変更しますか?
- 27. ExcelワークブックをVSTOアドインに保存するC#
- 28. カスタムリボンXMLタブがWORD VSTOアドインに表示されない
- 29. Windows XPでWord 2010にVSTOアドインが読み込まれない
- 30. リボンのボタンラベルを動的に変更するExcel
おかげで、InvalidateControlコールと組み合わせgetVisibleコールバックは、我々がやってしまったまさにだったこと。最後の唯一の痛みは、開いているファイルボタンをオーバーライドすると、ctrl-oショートカットが単語ではなくExcelでコードを呼び出すことです。 Excelチームがこれを実装していないことが、私たちが最もよく知ることです。 – Codezy