0

C#(Visual Studio 2005)で記述されたMS Office COMアドインがあり、COMShimdllを使用しています。アドインはVSTOテクノロジを使用せず、ExcelXP以降をサポートします。アドインは、新しいツールバーとメニューを追加します。

アドインはExcel2007で正常に機能しますが、ツールバーとメニューとともに「アドイン」という名前の別のタブに表示されます。このアドインをExcel2007リボンツールバーと統合し、グループとボタンを含む新しいタブを作成したいと思います。

いくつかの記事を調べたところ、IRibbonExtensibilityがリボンのサポートに使用されるインターフェイスであることがわかりました。また、COM Shim Wizardsには、リボンインターフェイスをサポートする新しいバージョン2.3があります。

それができるかどうか、そしてプロジェクトで必要となる変更について知りたいです。

  1. 現在、OfficeXPのoffice.dllファイルがプロジェクト(v 7.0)で使用されています。ただし、IRibbonExtensibilityインターフェイスはOffice 2007のdll(v12)にあります。したがって、私が最初に行う必要があるのは、このdllを変更し、コード内のすべての参照を更新することだと思います。このdllは以前のバージョン(下位互換性)をサポートしますか?既存の機能を壊したくありません。
  2. COM Shim dllの変更は何ですか?
4

1 に答える 1

0

私はOfficeXPを使用していませんが、2000、2003、および2007に対してCOMアドインを構築しました。

最近、v12 PIAを参照して、IRibbonExtensibilityインターフェイスを使用してOffice2007用のCOMアドインを作成しました。

これをOffice2003で使用したとき、かなりうまく機能していることがわかりました。ただし、私のアドインはいくつかの非常に基本的な機能を提供するだけであり、Excelオブジェクトへの多くの呼び出しを使用していません。Applicaiton.Versionが12未満の場合にのみ、コマンドバーを設定するようにOnConnectionメソッドを調整しました。

2003PIAから2007PIAに切り替えるために必要だったことを覚えているコード変更はありませんでした。過去には、最小限の労力で異なるバージョンのPIAを切り替えることができることがわかっています。

ジェームズ

于 2009-05-07T08:15:07.080 に答える