Visual Studio 2008 SP1 における VSTOアプリケーションアドイン開発の拡張(重要です。)

Visual Studio 2008 SP1 の VSTO開発(Word と Excel のみです。)ではアプリケーションアドイン開発が拡張されています。

これらの機能追加により、アプリケーションアドインレベル開発の利用の幅が広がるかと思います。

拡張された機能の概要は以下が参考になります。

アプリケーション レベルのアドインにおける実行時の Word 文書や Excel ブックの拡張

https://msdn.microsoft.com/ja-jp/library/cc442981.aspx

以下、抜粋

Visual Studio 2008 Service Pack 1 (SP1) より、アプリケーション レベルのアドインを使用して、以下のような文書およびブックのカスタマイズができるようになりました。

l 開いている文書またはワークシートにマネージ コントロールを追加する。

l 特定の文書またはブックで認識されるスマート タグを作成する。

l Windows フォームのデータ バインディング モデルを使用して、Excel ワークシート上の既存のリスト オブジェクトを、イベントを公開し、データにバインド可能な Visual Studio Tools for Office リスト オブジェクトに変換する。

l Word および Excel によって、特定の文書、ブック、ワークシートに対して公開されている、アプリケーション レベルのイベントにアクセスする。

具体的にはアドインレベルの開発でマネージドコントロールの追加や削除など、こういう機能が欲しかったというような拡張があります。

マネージドコントロールの追加では、Word や Excel のホストコントロール(List オブジェクト、NamedRange、コンテンツコントロールなどの Word や Excel の機能に基づいたコントロール)

他にも Widows フォームレベルのコントロールの追加・削除も可能です。

実行時の Office ドキュメントへのコントロールの追加

https://msdn.microsoft.com/ja-jp/library/x97a5x3s.aspx

以下、抜粋

ドキュメントへの Windows フォーム コントロールの追加

Windows フォーム コントロールをプログラムでドキュメントに追加する場合は、そのコントロールの位置とコントロールを一意に識別する名前を渡す必要があります。Visual Studio Tools for Office には、各コントロールに対応するヘルパー メソッドが用意されています。それらのメソッドはオーバーロードされるので、コントロールの位置を範囲または特定の座標で渡すことができます。詳細な手順については、「方法 : Office ドキュメントに Windows フォーム コントロールを追加する」を参照してください。

ドキュメントを保存して閉じるとき、動的に作成された Windows フォーム コントロールはドキュメントから削除されます。コードをソリューションに追加して、ドキュメントが再び開かれたときにコントロールを再作成することができます。アプリケーション レベルのアドインを使用してダイナミック Windows フォーム コントロールを作成する場合、コントロールの ActiveX ラッパーはドキュメント内に保持されます。詳細については、「Office ドキュメントでのダイナミック コントロールの永続化」を参照してください。

他にもこれまでドキュメントレベル開発でしか実現できなかったスマートタグの追加もできるようになっております。

Word 文書にスマート タグを追加する

https://msdn.microsoft.com/ja-jp/library/ms178787.aspx

以下、抜粋

Visual Studio 2008 Service Pack 1 (SP1) では、アプリケーション レベルのアドインを使用して、スマート タグを任意の開いている文書に追加できます。スマート タグを作成および構成するためのコードはドキュメント レベルのプロジェクトとアプリケーション レベルのプロジェクトで同じですが、スマート タグを文書に関連付ける方法が異なります。また、ドキュメント レベルのプロジェクトとアプリケーション レベルのプロジェクトとで、スマート タグのスコープが異なります。

この情報自体は OBA 開発者にとって非常に大事で重大な情報なのですが、これらの情報が体系だてられていないため、Visual Studio 2008 のSP1 を適用した環境で要件定義をされていても見過されるかもしれません。

この情報が理解されているかされていないかで、VSTO を利用したシステムが採用されないかもしれません。

日本のマイクロソフト自体は技術情報の翻訳や集約に対して大きなコストを割いていますが、本当に必要な情報を見極めるために我々がフィードバックしないといけないなと感じております。

それができるのはお客様やパートナー様の現場と社内のリソースを結びつけられる我々だけだと思うので。