Visual Studio(VS) 2005を利用すると,Office 2007をプラットフォームとして利用した独自のアプリケーションを開発できる。既にVisual Studio 2005の上位エディションが備えている,Office 2003のユーザー・インターフェースを利用したカスタム・アプリケーションを開発するための仕組み「Visual Studio Tools for Office(VSTO)」のOffice 2007版だ。マイクロソフトは,Office 2007向けに,2種類のVSTOを提供する予定である。

 1つは,Visual Studio 2005に統合して利用する「Visual Studio 2005 Tools for the 2007 Microsoft Office System(VSTO 2005 Second Edition)」。11月5日に英語版が公開されており,日本語版は8週間以内に提供される予定である。もう1つは次期Visual Studio(開発コード名「Orcas」)が備えるVSTO 3.0である。いずれも,Office 2007の新しいユーザー・インターフェースをカスタマイズしたり,作業ウインドウを利用して独自の機能を追加したりできる。

 VSTO 2005 SEとVSTO 3.0の違いは,ドキュメント・レベル・プロジェクトの開発に対応しているかどうかである。VSTOで開発可能な独自アプリケーションの形態には,(1)アプリケーション・レベルと(2)ドキュメント・レベルの2種類がある。そのうちのアプリケーション・レベルは,すべての文書を編集するときに利用可能なアプリケーションで,例えば,WordやExcelといった各アプリケーションのメニューや作業ウインドウに追加して利用する。

 それに対してドキュメント・レベルは,特定の文書ファイルに組み込むアプリケーションで,例えばExcelのワークシートにボタンなどのコントロールを張り付けるなど,Office文書をユーザー・インターフェースとして利用する。

 VSTO 2005 SEは,上記2種類のうち,アプリケーション・レベルのプロジェクト開発にのみ対応する。VSTO 3.0は,アプリケーション・レベルとドキュメント・レベルの両方に対応する。なおOffice 2003を対象としたVSTO 2005では,アプリケーション・レベルとドキュメント・レベルの両方に対応している。

リボンのカスタマイズが可能

 VSTO 2005 SEで可能なのは,Office 2007の新しいメニューである「リボン」のカスタマイズや,ウインドウの右端に表示される「作業ウインドウ」を利用したアプリケーションなど。例えばリボンに独自のメニューを追加するには次のようにコーディングしていく。

 まず,VSTO 2005 SEをインストールすると,Visual Studio 2005の「新しいプロジェクト」に,「プロジェクトの種類」として「Office」項目内に「2007アドイン」が追加される(図1)。テンプレートとしては「Excelアドイン」「InfoPathアドイン」「Outlookアドイン」「PowerPointアドイン」「Visioアドイン」「Wordアドイン」の6種類が選択可能だ。カスタマイズする対象のアプリケーションに応じて選ぶ。

図1●Visual Studio 2005に,VSTO 2005 SEをインストールすると,プロジェクト・テンプレートとしてOffice 2007対応のものが追加される
[画像のクリックで拡大表示]

 ここで作られるプロジェクトには,まだリボンをカスタマイズするための仕組みが含まれていない。次に,「新しい項目の追加」で,プロジェクトに「Ribbonサポート」を追加する(図2)。「Ribbonサポート」はVSTO 2005 SEをインストールすると追加されるテンプレートである。

図2●VSTO 2005 SEをインストール後の「新しい項目」のテンプレート
[画像のクリックで拡大表示]

 リボンの内容は,XML形式で記述する(図3)。リボンの中で,「ホーム」や「挿入」「ページレイアウト」といったメニューに見える部分を「タブ」と呼ぶ。独自のタブを追加するには,「tab」タグを使い,label属性に項目名を指定する。そしてそのタブを選んだときに表示するボタンなどのアイテムを,それぞれタグで追加する。例えばトグル・ボタンを追加するには,「toggleButton」タグを使う。

図3●独自のリボン項目を定義するXMLデータ
[画像のクリックで拡大表示]

 リボンに独自に追加したトグル・ボタンがユーザーによって操作されたときに処理する内容は,onAction属性に指定したメソッドに記述する。このようなイベント駆動式を採る点は,通常のC#やVisual Basicなどのプログラムと同じだ。

 一方,作業ウインドウ内に表示するプログラムの開発手順は,既存のVSTO 2005と同じだ。カスタム・コントロールとして作る。そしてそのカスタム・コントロールを,作業ウインドウに表示するコードを記述する。そのトリガーは,文書がロードされたときや,あらかじめ用意した専用ボタンがクリックされたときなど任意に決められる。

.NET Frameworkが利用可能

 VSTOは,.NETの仕組みの上に作られている。そのため,独自のアプリケーションを開発する際に.NET Frameworkの膨大なクラスを利用できる。Web参照を追加することでWebサービスを呼び出したり,Windows Vistaと同時に提供される予定の新しいGUIシステムであるWindows Presentation Foundation(WPF)を利用したリッチなUIを構築したりすることもできる(図4)。

図4●リボンに追加した独自の「便利機能」。作業ウインドウに表示されているのは,Webサービスを利用してWikipediaを検索する独自プログラム
[画像のクリックで拡大表示]

 なお,VSTO 2005 SEは,以下のVisual Studio 2005の各エディションにインストール可能である。

・Visual Studio 2005 Professional
・Visual Studio 2005 Team Suite
・Visual Studio 2005 Team Edition for Software Architects
・Visual Studio 2005 Team Edition for Software Developers
・Visual Studio 2005 Team Edition for Software Testers
・Visual Studio 2005 Tools for the Microsoft Office System