ドキュメントレベルとアプリケーションレベル
VSTO 2008というよりもVSTOにおける用語の確認です。先述したドキュメントレベル、アプリケーションレベルという言葉の指すものを説明します。これらについて、すでにご存じの場合にはこの部分は読み飛ばしてしまって構いません。
表1の中でも出てきましたが、VSTOを利用したOfficeカスタムアプリケーションを作成する場合、その形態により呼び名の違う2つの形式のアプリケーションを作成できます。この2種類がそれぞれドキュメントレベル、アプリケーションレベルと言われる開発手法になります。
ドキュメントレベル
ドキュメントレベル(正確にはドキュメントレベルのカスタマイズと言われます)は、WordやExcelなどの特定の文書やテンプレートに関連付けられるアプリケーションの形態のことを指します。ExcelなどでVBAを使ったアプリケーションを作ることは多いと思いますが、ちょうどそれと似たような位置づけのものです。開発したカスタムアプリケーションはドキュメントに関連づくため、対象のドキュメントが開いているときにのみ使用できます。
一方で、アプリケーション用にドキュメントの体裁を作成してしまうことができます。例えば注文書のひな形をExcelで作成し、ドロップダウンやボタンなどをWindowsフォームのコントロールで構成するといったことが可能です。このため、ドキュメントの見た目からその入力支援やバックエンド処理までの一連のプロセスをまとめて行いたいような場合に利用する形式となります。
アプリケーションレベル
アプリケーションレベル(正確にはアプリケーションレベルのアドインと言われます)は、WordやExcelなどのOfficeアプリケーションそのものに関連付けられるアプリケーション形態のことを指します。開発したカスタムアプリケーションはアプリケーションに関連づくため、Officeアプリケーションを起動したときに有効になり、どんなドキュメントが開かれているかに関わらず利用できます。
Office 2007用に、PDFやXPSの保存ができるようになるアドイン(2007 Microsoft Office プログラム用 Microsoft PDF/XPS 保存アドイン参照)が提供されていますが、このように特定の文書ではなく、アプリケーションそのものに追加の機能を提供する位置づけのものです。
ドキュメントレベル、アプリケーションレベルの選択は基本的にはその用途によって使い分けるべきですが、VSTOを利用してこれらの開発を行う場合には、それぞれの選択によって利用できない機能などがでてきます。
例えば、アプリケーションレベルのアドインではカスタム作業ウィンドウを作成できますが、ドキュメントレベルのカスタマイズでは作業ウィンドウの1つである「ドキュメントアクション」と呼ばれるウィンドウのみを変更することができます。これらの詳細についてはMSDNライブラリのアプリケーションおよびプロジェクトの種類別の使用可能な機能を参照してください。