質問

私は、XML拡張パックを使用してMicrosoft Wordに機能を追加するプロジェクトを持っています。我々は顧客を与える文書が開かれたときに、現在、それはMicrosoft.Office.Core.CommandBar.Controls.Addなどを使用して、メインメニューとツールバーに物事を追加するSmartDocInitializeメソッドを実行し、当社のパックを、ロードします。変更せずにWord 2007で開くと、これらのボタンは、アドインのリボンタブに追加されますが、ボタンはすべて適切にグループ化された小型、されていないので、これは理想的ではない、との[アドイン]タブを持参する方法はありませんドキュメントがロードされているフロントます。

ドキュメントには、Office 2003で開かれている場合は、

私は、この機能を同じに保つしたいと思いますが、ドキュメントには、Office 2007で開かれている場合、私は私の新しいリボンタブとのすべてを記述したXMLファイルに読みたいですボタン。私はオンラインで見つけることができましたすべてが(Visual Studioでビルドするあなたは魔法の非常に特定の組み合わせを持っている場合にのみロードされているリボンのファイルにつながるように見えなかったし、それが動作しますが、あなたは、ユーザーに展開する方法をについての情報あなたは、私が現在持っていないオフィスのプロパティのためのVisual Studioのツールを使用して最初に作成され、プロジェクト全体を持っている場合は、このボックス)とのみ動作します。

私たちの開発環境はXPで、Visual Studio 2005の、Cの#、.NET 2.0

役に立ちましたか?

解決

リボンUIは古いのCommandBars UIと同じようにプログラムによるではありません。私はあなたがやりたいことができるとは思いません。私の知る限りでは、プログラムでリボンUIを変更する唯一の方法は、(COM)がアドインがIRibbonExtensibilityインターフェイスを実装し、GetCustomUIメソッドから(リボン定義を持つ)、カスタムXMLファイルを返すことです。あなたがCommandBarsのUIでできたような時にボタン1を追加または削除する方法はありません。それはちょうど全く違うのです。私はあなたがドキュメント内のいくつかのマクロからやりたいことができると信じていません。

私は、XML拡張パックに慣れていないんだけど、あなたは、ユーザーのPCにインストールする必要がある場合は、おそらくあなたは、アドインをインストールすることができますだけでなくそれはあなたのための適切なリボンXMLを読み込むことができます。

他のヒント

これは思ったほど難しいことではありません。

あなたはすでにあなたのリボンボタンがドキュメント内のいくつかのVBAマクロにフックアップされている場合は、その後、あなたは自分のCOM見える.NETアセンブリへのあなたのVBAプロジェクトに参照を追加する必要があります。

comの目に見えるマークされていることに加えて、

.NETアセンブリ(それは、[参照設定]ダイアログボックスでタイプライブラリとして表示)、VBAから呼び出すことように設定されているいくつかのメソッドを持っている必要があります。

"VBA .netの呼び出し可能な" グーグル

(DEVボックスでは必要ありません)あなたの方法は、単純型を返すことを確認し、方法が公開する、プログラムID属性でそれを宣言し、ターゲットマシン上でアセンブリを登録します。regasmを使用し、目に見えるCOMとしてマーククラス、

その難しいことではありませんます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top