2016-11-10 16 views
3

マルチスタンダードアプリケーション用のVSTOアドインの作成は可能ですか?VSTOの作成マルチアプリケーション用のアドイン

私は私がすべてのアプリケーションのために持って、その後、すべてのアプリケーション用のアドインを作成する機能を外部委託することはできますか?はいの場合は、これを達成するためのよりよい方法がありますか?

答えて

4

私は、各Officeアプリケーションのadd-in projectsolutionを行うことをお勧めします。

そしてそのアドオンプロジェクトの各々からの溶液及び基準にclass libraryプロジェクトを追加します。

このようにして、すべてのアドインで使用されるコードを集中管理できます。

あなたがアクティブなアプリケーションやドキュメントと対話する必要がある場合は、呼び出し元のオブジェクトの種類を検出し、関連するアプリケーション/文書型に型キャストすることができます。

4

はい - 他のアプリケーションと同じように、共通の機能を共有DLLに入れることができます。各VSTOプロジェクトは異なるアプリケーション構造と潜在的なUIパラダイムを対象としているため、単一のソリューションで異なるVSTOプロジェクトを持ち、共通のコードを持つ共有アセンブリを持つことをお勧めします。

0

VSTOは、マルチホストのアドインの作成をサポートしていません。ホストごとに別々のプロジェクトを作成し、共有コードベースのクラスライブラリを使用する必要があります。

注、Add-in ExpressマルチホストCOMアドインを作成することができます。したがって、単一のアドインプロジェクトを複数のホストで実行することができます。それはIDTExtensibility2インターフェイスから来ます。なぜVSTOクリエイターがそのような機能を開発者に提供しなかったのか分かりません。

+1

これは以前はサポートされていましたが、陳腐化しています。これをやることはまだありません:https://davecra.com/2015/10/28/a-complete-shared-add-in-template/ – andywhitt

0

VSTO自体には、このようなオプションはありません。すべてのアプリケーションに対して単一のプロジェクトを取得したい場合は、shimアドインを使用できます。これにより、同じDLLからすべてのアプリケーションでアドインを実行することが可能になります。唯一の問題は、別のロジックを実行したり、特定のオフィスAPI関数を呼び出すためにアプリケーションが呼び出すアプリケーションを処理する必要があることです。

関連する問題