Visual Studio Tools for Office Runtime の概要

更新 : 2007 年 11 月

Visual Studio Tools for Office で作成したソリューションを実行するには、エンド ユーザーのコンピュータに Visual Studio Tools for Office ランタイムがインストールされている必要があります。このランタイムには、ソリューションと Microsoft Office アプリケーションの間の通信レイヤとなるマネージ アセンブリと、アプリケーションがソリューションの読み込みに使用するアンマネージ コンポーネントが含まれています。

各エンド ユーザーのコンピュータへのランタイムのインストールについては、「方法 : Visual Studio Tools for Office ランタイムをインストールする」を参照してください。

ここでは、次の情報について説明します。

  • ランタイムの各種バージョンについて

  • ランタイム アセンブリについて

  • ランタイム ローダー コンポーネントについて

ランタイムの各種バージョンについて

Visual Studio Tools for Office ソリューションには、対象となる Microsoft Office のバージョンごとに異なるランタイム バージョンが必要です。ランタイム バージョンは、ソリューションを実行する Office のバージョンではなく、ソリューションの作成に使用したプロジェクト テンプレートによって決まります。

次の表は、ソリューションをエンド ユーザーのコンピュータで実行するために必要なランタイムおよび Microsoft Office バージョンを示しています。

プロジェクト テンプレートのバージョン

エンド ユーザーのコンピュータに必要な Visual Studio Tools for Office ランタイムのバージョン

エンド ユーザーのコンピュータでソリューションを実行できる Microsoft Office のバージョン

2007 Microsoft Office system 用のプロジェクト

Microsoft Visual Studio Tools for the Microsoft Office system (version 3.0 Runtime)

2007 Microsoft Office system

Microsoft Office 2003 用のプロジェクト

Visual Studio 2005 Tools for Office Second Edition Runtime

2007 Microsoft Office system

Microsoft Office 2003

Microsoft Visual Studio Tools for the Microsoft Office System (version 3.0) をインストールすると、自動的に両方のランタイム バージョンが開発用コンピュータにインストールされます。 

Microsoft Office の両方のバージョンで実行できるソリューションの作成については、「複数バージョンの Microsoft Office のソリューションの作成」を参照してください。

ランタイムに含まれるアセンブリは、ランタイムのバージョンによって異なります。詳細については、「アセンブリの相違点」を参照してください。

Bb608603.alert_note(ja-jp,VS.90).gifメモ :

Visual Studio 2005 Tools for Office Second Edition Runtime は Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System (VSTO 2005 SE) で初めて導入されました。このランタイム バージョンは Microsoft Visual Studio Tools for the Microsoft Office System (version 3.0) で作成された Microsoft Office 2003 のソリューションでも使用されます。

2 つのランタイム バージョンのリファレンス ドキュメントの検索

名前空間、型、またはメンバのリファレンス情報を取得するためにヘルプ内のリンクまたは索引項目をクリックすると、ほぼ同じトピックが 2 つ表示されることがあります。2 つのトピックは、2 つのランタイム バージョンに含まれる同じメンバについて説明しています。次のうち該当するバージョン インジケータが付いたトピックを選択してください。

  • 2007 System。これは Microsoft Visual Studio Tools for the Microsoft Office system (version 3.0 Runtime) を表します。

  • 2003 System。これは Visual Studio 2005 Tools for Office Second Edition Runtime を表します。

ランタイム アセンブリについて

Visual Studio Tools for Office ランタイムに含まれるアセンブリは、次の 2 種類のクラスを提供します。

  • ソリューションがホスト アプリケーションの自動化および拡張に使用するクラス

  • ソリューションとホスト アプリケーションとの通信を可能にするインフラストラクチャ クラス

Bb608603.alert_note(ja-jp,VS.90).gifメモ :

プロジェクトを作成すると、そのプロジェクトの種類に必要なアセンブリへの参照が Visual Studio Tools for Office によって自動的に追加されます。それらのアセンブリには、ドキュメント レベルのプロジェクトでのみ使用されるものと、アプリケーション レベルのプロジェクトでのみ使用されるものがあります。

Visual Studio Tools for Office 3.0 Runtime のアセンブリ

Microsoft Visual Studio Tools for the Microsoft Office system (version 3.0 Runtime) に含まれるアセンブリを次の表に示します。このランタイム バージョンは、2007 Microsoft Office system 用に作成されたソリューションで使用されます。

これらのアセンブリに含まれる名前空間およびクラスの詳細については、「2007 System マネージ参照」を参照してください。

アセンブリ名

説明

Microsoft.Office.Tools.Common.v9.0.dll

次のクラスが用意されています。

  • アプリケーション レベルのアドイン用の AddIn 基本クラス。

  • ドキュメント レベルのカスタマイズの操作ウィンドウおよびスマート タグを作成するためのクラス。

  • アプリケーション レベルのアドインのカスタム作業ウィンドウを作成するためのクラス。

  • リボンのカスタマイズを作成するためのクラス。

  • ExcelLocale1033Attribute クラスと ExcelLocale1033Proxy クラス。Excel ソリューションで、Excel オブジェクト モデルへのカルチャに依存したすべての呼び出しに使用されるロケール ID (LCID) の制御に使用されます。詳細については、「さまざまな地域設定を使用した Excel のデータの書式設定」を参照してください。

Microsoft.Office.Tools.Excel.v9.0.dll

Excel のドキュメント レベルのカスタマイズ用のホスト項目およびホスト コントロールが用意されています。詳細については、「ホスト項目とホスト コントロールの概要」を参照してください。

Microsoft.Office.Tools.Outlook.v9.0.dll

Outlook アドインのカスタム フォーム領域の作成に使用できるクラスが用意されています。

Microsoft.Office.Tools.Word.v9.0.dll

Word のドキュメント レベルのカスタマイズ用のホスト項目およびホスト コントロールが用意されています。詳細については、「ホスト項目とホスト コントロールの概要」を参照してください。

Microsoft.Office.Tools.v9.0.dll

次のクラスが用意されています。

  • RemoteBindableComponent クラス。ドキュメント レベルのカスタマイズに含まれるホスト コントロールにデータ バインディング機能を提供します。

  • Microsoft Visual Studio Tools for the Microsoft Office system (version 3.0 Runtime) インフラストラクチャに属するその他のクラス。コード内で直接使用することを目的としないクラスです。

Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll

次のクラスが用意されています。

  • CachedAttribute 属性および ICachedType クラス。ドキュメント レベルのカスタマイズのデータ オブジェクトをキャッシュするために使用できます。

  • Visual Studio Tools for Office ランタイムによってスローされる例外。

  • Microsoft Visual Studio Tools for the Microsoft Office system (version 3.0 Runtime) インフラストラクチャに属するその他のクラス。コード内で直接使用することを目的としないクラスです。

Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll

次のクラスが用意されています。

  • ServerDocument クラス。プログラムによるドキュメントへのカスタマイズ アセンブリのアタッチやドキュメント内のキャッシュされたデータへのアクセスに使用できます。

  • ドキュメント レベルのカスタマイズのキャッシュされたデータの階層を表す複数のクラス。

Microsoft.VisualStudio.Tools.Office.Runtime.v9.0.dll

次のクラスが用意されています。

  • AddInSecurityEntry クラスおよび UserInclusionList クラス。ユーザーの信頼のリストにエントリを追加して 2007 Microsoft Office system 用の Visual Studio Tools for Office ソリューションに信頼を付与するために使用できます。詳細については、「信頼のリストによる Office ソリューションへの信頼の付与 (2007 システム)」を参照してください。

  • Microsoft Visual Studio Tools for the Microsoft Office system (version 3.0 Runtime) インフラストラクチャに属するその他のクラス。コード内で直接使用することを目的としないクラスです。

Microsoft.VisualStudio.Tools.Office.AppInfoDocument.v9.0.dll

Microsoft.VisualStudio.Tools.Office.Contract.v9.0.dll

Microsoft Visual Studio Tools for the Microsoft Office system (version 3.0 Runtime) インフラストラクチャに属するクラスを提供します。これらのクラスは、コードから直接使用するためのものではありません。

Visual Studio 2005 Tools for Office Second Edition Runtime のアセンブリ

Visual Studio 2005 Tools for Office Second Edition Runtime に含まれるアセンブリを次の表に示します。このランタイム バージョンは、Microsoft Office 2003 用に作成されたソリューションで使用されます。

これらのアセンブリに含まれる名前空間およびクラスの詳細については、「2003 System マネージ参照」を参照してください。

アセンブリ名

説明

Microsoft.Office.Tools.Common.dll

次のクラスが用意されています。

  • アプリケーション レベルのアドイン用の AddIn 基本クラス

  • ドキュメント レベルのカスタマイズの操作ウィンドウおよびスマート タグを作成するためのクラス

Microsoft.Office.Tools.Excel.dll

Excel ドキュメント レベルのカスタマイズ用のホスト項目およびホスト コントロールが用意されています。詳細については、「ホスト項目とホスト コントロールの概要」を参照してください。

Microsoft.Office.Tools.Word.dll

Word のドキュメント レベルのカスタマイズ用のホスト項目およびホスト コントロールが用意されています。詳細については、「ホスト項目とホスト コントロールの概要」を参照してください。

Microsoft.VisualStudio.Tools.Applications.Runtime.dll

次のクラスが用意されています。

  • ServerDocument クラス。プログラムによるドキュメントへのカスタマイズのアタッチやドキュメント内のキャッシュされたデータへのアクセスに使用できます。

  • CachedAttribute 属性および ICachedType クラス。ドキュメント レベルのカスタマイズのデータ オブジェクトをキャッシュするために使用できます。

  • Visual Studio Tools for Office ランタイムによってスローされる例外。

  • Visual Studio 2005 Tools for Office Second Edition Runtime インフラストラクチャに属するその他のクラス。コード内で直接使用することを目的としないクラスです。

アセンブリの相違点

Visual Studio 2005 Tools for Office Second Edition Runtime には、Microsoft Visual Studio Tools for the Microsoft Office system (version 3.0 Runtime) のアセンブリとは異なる名前のアセンブリがいくつか含まれています。また、Visual Studio 2005 Tools for Office Second Edition Runtime の 1 つのアセンブリが Microsoft Visual Studio Tools for the Microsoft Office system (version 3.0 Runtime) で複数のアセンブリに分割されています。

そうしたアセンブリの相違点を次の表に示します。

Visual Studio 2005 Tools for Office Second Edition Runtime でのアセンブリ名

Microsoft Visual Studio Tools for the Microsoft Office system (version 3.0 Runtime) でのアセンブリ名

Microsoft.Office.Tools.Common.dll

Microsoft.Office.Tools.Common.v9.0.dll

Microsoft.Office.Tools.Excel.dll

Microsoft.Office.Tools.Excel.v9.0.dll

Microsoft.Office.Tools.Word.dll

Microsoft.Office.Tools.Word.v9.0.dll

Microsoft.VisualStudio.Tools.Applications.Runtime.dll

Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll

以下の新しいアセンブリに移動したクラスもあります。

  • Microsoft.Office.Tools.v9.0.dll

  • Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll

ランタイム ローダー コンポーネントについて

Visual Studio Tools for Office ランタイムには、Microsoft Office アプリケーションが Visual Studio Tools for Office ソリューションの読み込みに使用する複数のアンマネージ DLL が含まれています。これらの DLL を直接操作する必要が生じることはありませんが、その目的を把握しておくと、Visual Studio Tools for Office ソリューションのアーキテクチャについて理解を深めるうえで役に立ちます。

これらのコンポーネントが読み込み中にどのように使用されるかについては、「ドキュメント レベルのカスタマイズのアーキテクチャ」および「アプリケーション レベルのアドインのアーキテクチャ」を参照してください。

ランタイム ローダー

ユーザーがドキュメント レベルのカスタマイズを開いたりアドインを起動したりすると、Microsoft Office アプリケーションがランタイム ローダーを呼び出します。このコンポーネントの名前は VSTOEE.dll です。

ランタイム ローダーによって、アドインを読み込む Microsoft Office のバージョンに適合する Visual Studio Tools for Office ランタイムのバージョンが読み込まれます。同じコンピュータに Visual Studio Tools for Office ランタイムの複数のバージョンをインストールできますが、VSTOEE.dll のインスタンスは一度に 1 つしかインストールされません。この VSTOEE.dll は、コンピュータにインストールしたランタイムの最新バージョンに含まれているものです。

ソリューション ローダー

ソリューション ローダーは、ソリューション アセンブリの読み込みに必要な処理の大部分を実行します。ソリューション ローダーのファイル名は Visual Studio Tools for Office ランタイムのバージョンによって異なります。Microsoft Visual Studio Tools for the Microsoft Office system (version 3.0 Runtime) のソリューション ローダーは VSTOLoader.dll です。Visual Studio 2005 Tools for Office Second Edition Runtime のソリューション ローダーは AddinLoader.dll です。

ソリューション ローダーは次のような処理を実行します。

  • 新しい Visual Studio Tools for Office ソリューション アセンブリごとにアプリケーション ドメインを作成します。

  • 一連のセキュリティ チェックによってアドイン アセンブリに実行許可があることを確認します。

ソリューション ローダーは次のようなアドインのみを対象とする処理も実行します。

  • IDTExtensibility2 インターフェイスを実装します。IDTExtensibility2 は、Microsoft Office アプリケーションのすべてのアドインが実装する必要のある COM インターフェイスです。このインターフェイスには、アプリケーションがアドインと通信するために呼び出すメソッドが定義されています。

  • IManagedAddin インターフェイスを実装します。このインターフェイスは、2007 リリース以降の Office アプリケーションで Visual Studio Tools for Office アドインの読み込みに使用されます。詳細については、「IManagedAddin インターフェイス」を参照してください。

参照

処理手順

方法 : Visual Studio Tools for Office ランタイムをインストールする

方法 : Visual Studio Tools for Office プロジェクトを作成する

概念

ドキュメント レベルのカスタマイズのアーキテクチャ

アプリケーション レベルのアドインのアーキテクチャ

Office ソリューションのアップグレードと移行

その他の技術情報

Visual Studio Tools for Office ソリューションのアーキテクチャ