はじめに
2007年12月に、Visual Studioの最新バージョンであるVisual Studio 2008(以下、VS2008)がリリースされました。従来のVS2005までは、Professional Editionを購入しただけでは、Office開発のための機能は付属しておらず、専用のVisual Studio 2005 Tools for the Office Systemを購入しなければ、.NETでOfficeアプリケーションを開発することができませんでした(Visual Studio 2005 Team Systemシリーズの各製品やMSDN Subscription契約の場合には付属していました)。
一方、VS2008ではProfessional EditionからOfficeカスタムアプリケーション開発を支援するVisual Studio Tools for the Microsoft Office System(以下、VSTO)が付属することとなり、VS2005よりもさらにOfficeカスタムアプリケーション開発が始めやすくなりました。ツールの導入のしやすさはもちろんですが、最新のVSTOではOffice 2007用の開発サポートなどをはじめ、次のリストにあげるようなさまざまな新機能が盛り込まれています。
- the 2007 Microsoft Office System対応のOfficeアプリケーションの作成*
- Word、Excel、PowerPointなどのアプリケーションアドインの作成*
- リボンのカスタマイズ(Office 2007のみ)*
- VBAや他Officeアプリケーションとの相互連携(Office 2007のみ)*
- ClickOnceによるアプリケーションの配布(Office 2007のみ)*
- SharePointワークフローの作成(SharePoint 2007のみ)
- カスタム作業ウィンドウの作成(Office 2007のみ)
- Outlookのための拡張機能(Outlook 2007のみ)
本稿では、上記リストの「*」のついた項目について紹介していきます。
対象読者
- Visual Studio 2008に興味がある方
- .NET Framework 3.5に興味がある方
- Officeアプリケーション開発に興味がある方
必要な環境と準備
Visual Studio 2008入門シリーズ「新しい統合開発環境 Visual Studio 2008 ってなんだ!?」の必要な環境と準備を参考にしてください。
いろいろと比較
VSTOを使ったアプリケーションの作成方法を紹介する前に、いろいろと比較をしてみたいと思います。1つは過去のVSTOとの比較、もう1つはVS2008のマルチターゲッティングを使用した場合の比較です。
過去のVSTOとの比較
VSTOのバージョン1はVS.NET2003にアドインとしてVSTO 2003がリリースされました。以降、VS2005の登場とともにバージョン2のVSTO 2005、the 2007 Microsoft Office System登場時にVSTO 2005に追加の形でVSTO 2005 SEがリリースされています。
今回、VS2008と同時にリリースされたものはバージョン3のVSTO 2008で、バージョンを重ねるごとに対応するOfficeアプリケーションの種類を増やしてきました。Visual Studioの1つ前のバージョンであるVS2005と同時にリリースされたVSTO 2005から今回のVSTO 2008までのそれぞれで、どのような開発種類をサポートしているかを以下の表1に示します。
VSTOバージョン | Officeバージョン | ドキュメントレベル | アプリケーションレベル |
VSTO 2005(v2) | Office 2003 | Excelブック Excelテンプレート Wordドキュメント Wordテンプレート |
Outlookアドイン |
VSTO 2005 SE | Office 2003 | Excelブック Excelテンプレート Wordドキュメント Wordテンプレート InfoPathフォームテンプレート |
Outlookアドイン |
Office 2007 | Excelアドイン Wordアドイン PowerPointアドイン Outlookアドイン Visioアドイン InfoPathアドイン |
||
VSTO 2008(v3) | Office 2003 | Excelブック Excelテンプレート Wordドキュメント Wordテンプレート |
Excelアドイン Wordアドイン PowerPointアドイン Outlookアドイン Visioアドイン Projectアドイン |
Office 2007 | Excelブック Excelテンプレート Wordドキュメント Wordテンプレート InfoPathフォームテンプレート |
Excelアドイン Wordアドイン PowerPointアドイン Outlookアドイン Visioアドイン Projectアドイン |
VSTO 2008ではかなりいろいろな種類の開発をサポートしていることが分かると思います。ドキュメントレベル、アプリケーションレベルの詳細については、後ほど解説します。
.NET Frameworkのバージョンによる比較
VSTO 2008ではさまざまな種類のOfficeカスタムアプリケーションが作成できますが、表1の一覧にあるVSTO 2008の部分はすべて、.NET Framework 3.5で開発することを前提としたものです。試しにVS2008でプロジェクトの種類をOfficeにして新しいプロジェクトを作成しようとしたものが図1です。
図1のように、.NET Frameworkのバージョンとして3.5を選択しているときには、表1のVSTO 2008に示したどおりのOfficeカスタムアプリケーションの開発が可能です。しかし、VS2008のマルチターゲッティング機能を利用して、.NET Framework 2.0(または3.0)にした場合には、図2に示すテンプレートが有効になります。
このように.NET Framework 3.5を選択しているときには、Office 2003/2007用のアプリケーションが作成できますが、.NET Framework 2.0(または3.0)を選択した場合には、Office 2003用のアプリケーションの作成のみになります。この種類はVSTO 2005やVSTO 2005 SEとも異なるものなのでそれぞれの違いには注意してください。