2009-07-16 5 views
0

こんにちは私はvs2008 + vstoを使用してExcelのアドイン(リボン)を作成しています... これは、ユーザーにこれを追加するだけでよいように、myaddin.dllのようにdllにすることは可能ですか? dll ...と使用するか、より良いアプローチをお勧めしますか、ありがとうございます!c#excel dllとして追加

答えて

0

私が知る限り、Excelアドインはxla/xlamファイルでなければなりません。あなたはxlaから呼び出されるdllを持つことができますが、xlaが必要です。

0

ExcelアドインをC#でCOMオートメーションオブジェクトとして記述すると、これを実行できます。次に、Excelのアドインダイアログに行くと、COMオブジェクトを選択するか、Com。dllを参照できます。 Excelは、呼び出し可能なオブジェクトのインスタンスを作成します。

+0

本当に分かりますか?私が理解する限り、Excelで実行されているコードでは、アクセス許可とGACの許可が必要です。 – Wilhelm

+0

私は肯定的です!私はこのようにコンポーネントを記述して配備しました。必要ないくつかのレジストリキーがありますが、それはそれについてです... – Sean

1

はい、できます。ただし、Excelで使用されているDLLはGACに登録する必要があり、いくつかのレジストリキーを変更する必要があります(基本的にExcelにdllの場所を教えてください)。したがって、dllをインストールするためにセットアップを使用することをお勧めします。このプロセスは幾分複雑であり、hereと記載されており、hereと記載されています。

1

上記のコメントを修正するには...アセンブリをGACing

  1. は、しかし、COMオートメーションのためのアセンブリを登録する必要があり、必要ありません。上記のように、これはEXCEL ComアドインのMSDNドコと必要なキーを配置するためのセットアッププロジェクトを使用すると最も簡単に実現できます。 アセンブリを強く命名してGACingする利点は、完全に信頼できることです。これは、(CASを使用するよりも)アクセス許可の例外を回避する(pplのために)より簡単な方法かもしれません。 しかし、実際にはあなたがあなたのアドインを外部に販売していない限り、これはショーストッパーではありません。

  2. COM Addin(VB6、C++または.net)を使用する代わりに、XLA/XLAMは必要ありません。ソリューションを迅速に開発してビルドする場合は、XLAは軽量オプションです。

関連する問題