私はWord 2007のアプリケーションレベルのアドインで作業しています。これまでは、アドインのリボンインターフェイスをXMLに変換する以外に大きな障害はありませんでした。リボンのXMLを使用する必要があります。これは、私が取り組んでいる機能がこのようにしかできないためです。問題は、リボンXMLに切り替えることで、実行時にGlobals.Ribbons経由でインターフェイスにアクセスできなくなることです。このリンクhttp://msdn.microsoft.com/en-us/library/bb772088.aspxは、ビジュアルデザイナーリボンにアクセスする方法を説明していますが、XMLリボンの場合を完全に無視しています。具体的には、ラベルなどの視覚的なコントロールにアクセスできる必要があります。どうすればこれを達成できますか?実行時にリボン(XML)にアクセスする方法はありますか?
答えて
Globals.RibbonsはVSTOデザイナ機能です.RibbonXMLを使用する場合、この機能はありません。 デザイナーが実際にカバーしているのは、Office用のリボンxmlを作成し、オフィスがコールバックを行うと、そのコンテキスト(ドキュメント)の適切なイベントハンドラが呼び出されます。 RibbonXMLを使用しているため、VSTOリボンデザイナのサポートを完全にバイパスしています(この方法が好きです。より速く、より多くのコントロールが可能です)。
リボンXMLを使用すると、ラベルにonLoadコールバックを登録する必要があります.OffbonControlがラベルとして渡されます。ラベルは、あなたに渡すことができます。テキストを変更して頭の上から外したい場合は、getTextコールバックを登録してから、そのリボンコントロールを無効にする必要があります。これにより、getTextコールバックが再評価されます。
あなたが実際に成し遂げたいことについてもっと多くの情報を持っていれば便利だろう=)私はVSTO contribプロジェクトもあなたの人生をもっと楽にしてくれると感じています。リボンxml 。しかし、あなたがしたいことが何であるか教えてください。私はあなたにそれについてのより多くの情報を与えることができます。
乾杯、 ジェイク
いつGlobals.ribbonsにアクセスしようとしていますか?
私が思い出したように、Wordの起動フェーズの終わり近くになるまでは、このファイルは作成されません。
早すぎてアクセスしようとすると、まだリボンが定義されていません。
私は、新しいドキュメントが開かれたときに呼び出される関数ですApplication_DocumentOpenからGlobals.Ribbonsにアクセスしようとしています。これは、ビジュアルデザイナーリボンのために使用されていたことです。ただし、切り替え後、XMLリボンは表示されますが、Globals.Ribbons.Countは常に0です。 – AlgolDocks
リボンXMLを扱う場合、
..財産シンプルがありませんでした..私はこれを試してみましたが、私はGlobals.RibbonsからRibbon1プロパティにアクセスできませんでしたしかし、私は基本的に適切な型キャストとは別の解決策を考え出しました。 ThisAddIn.csで
:
private Microsoft.Office.Core.IRibbonExtensibility ribbonObj;
protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
ribbonObj = new Ribbon1(this);
return ribbonObj;
}
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
// Calling the public method TEST() in Ribbon1.cs
//MyNameSpace is the namespace used in your project ie., your project name
((MyNameSpace.Ribbon1)ribbonObj).TEST();
// Calling the public variable flag in Ribbon1.cs
((MyNameSpace.Ribbon1)ribbonObj).flag;
}
- 1. 実行時にTableAttributeを設定する方法はありますか、実行時にLINQタイプの切り替えを行う方法はありますか?
- 2. 実行時にPowerPointリボンをカスタマイズする
- 3. VSTO XMLリボン - リボンのインスタンスが1つありますか?
- 4. 実行時にJavaScriptの各行をエコーする方法はありますか?
- 5. 実行時にイメージアセットをグレースケールに変換する方法はありますか?
- 6. 実行時にswfでsvgデータをレンダリングする方法はありますか?
- 7. 実行時にDefaultPropertyメタデータを取得する方法はありますか?
- 8. Bambooテストを同時に実行する方法はありますか?
- 9. 実行時にd:DesignData xamlを使用する方法はありますか?
- 10. 実行時にオブジェクトへのすべての読み書きアクセスをインターセプトする方法はありますか?
- 11. XMLレイアウトからプラットフォームリソース(android.R.layout)にアクセスする方法はありますか
- 12. Officeリボン:XMLを使用してリボンを作成したときにコントロールにアクセスする方法
- 13. 権限実行時にSYSTEM_ALERT_WINDOWにアクセスする方法は?
- 14. jQueryにリボンの実装がありますか?
- 15. C#:実行時に実装するインターフェイスにクラスをキャストする方法はありますか?
- 16. 実行時にデータを配置する方法テーブル、つまり実行時にテーブルを作成する方法
- 17. エラー時にvbaコードの実行を一時停止する方法はありますか?
- 18. 実行時にプロセスのリソース使用量(時間、メモリ)を監視する方法はありますか?
- 19. 特定の時刻にFoxproレポートを実行するようにスケジュールする方法はありますか。
- 20. Linuxで起動時にスクリプトを早く実行する方法に関するヒントはありますか?
- 21. 上にスクロールする方法はありますが、瞬時にスクロールする方法はありませんか?
- 22. SELECT文の「前の行」の値にアクセスする方法はありますか?
- 23. 実行時にIDを具体的なクラスに動的に型変換する方法はありますか?
- 24. PowerPoint Webアドイン実行時のリボン操作
- 25. リストのリストにアクセスする方法はありますか?
- 26. PowerShell:Shell:Driveにアクセスする方法はありますか?
- 27. Reactコンポーネントのサブコンポーネントにアクセスする方法はありますか?
- 28. タプルの値にアクセスする方法はありますか?
- 29. TypeORMの `last_inserted_id`にアクセスする方法はありますか?
- 30. 別のiframeにアクセスする方法はありますか?
こんにちはジェイク。答えをありがとう。私はこの質問を投稿してから実際に多くの研究を行い、同じ結論に達しました。私はまだ誰かがGlobal.Ribbonsからインターフェイスにアクセスする何らかの方法を見つけたことを期待していました。とにかく、私は実際に私のソリューションを変換しました。そして今、私はラベルを変更し、情報を表示し、特定のコントロールの可視性を変更するためにRibbonXMLとコールバックを使用します。 – AlgolDocks
あなたの応答/答えジェイクは非常に感謝しています。 MSDNはこれをどこでもカバーしているようではありません。コントロールの無効化は完全に機能しました。 – Daniel