次の方法で共有


Visual Studio Tools for Office Runtime の概要

Visual Studio 2010 の Microsoft Office 開発ツールを使用して作成したソリューションを実行するには、エンド ユーザーのコンピューターに Visual Studio 2010 Tools for Office Runtime がインストールされている必要があります。 Visual Studio 2010 Tools for Office Runtime は、次の 2 つの主要コンポーネントで構成されています。

  • .NET Framework 用の Office 拡張機能。 これらのコンポーネントは、ソリューションと Microsoft Office アプリケーションの間の通信レイヤーとなるマネージ アセンブリです。 詳細については、「.NET Framework 用の Office 拡張機能について」を参照してください。

  • Office ソリューション ローダー。 このコンポーネントは、Office アプリケーションがランタイムおよびソリューションの読み込みに使用する一連のアンマネージ DLL です。 詳細については、「Office ソリューション ローダーについて」を参照してください。

ランタイムをインストールする方法はいくつかあります。 ランタイムをインストールするときには、コンピューターの構成に応じて異なるランタイム コンポーネントがインストールされます。 詳細については、「Visual Studio Tools for Office ランタイムのインストール シナリオ」を参照してください。

.NET Framework 用の Office 拡張機能について

Visual Studio 2010 Tools for Office Runtime には、.NET Framework 用の 2 つの Office 拡張機能があります。

  • .NET Framework 3.5 用の Office 拡張機能は、.NET Framework 3.5 を対象とするソリューションで使用します。

  • .NET Framework 4 用の Office 拡張機能は、.NET Framework 4 を対象とするソリューションで使用します。

これらの拡張機能は、ソリューションが Office アプリケーションの自動化および拡張に使用するアセンブリで構成されています。 Office プロジェクトを作成すると、Visual Studio によって、そのプロジェクト タイプおよびプロジェクトの対象 .NET Framework に使用するアセンブリへの参照が自動的に追加されます。 Office 拡張機能を構成するアセンブリの詳細については、「Visual Studio Tools for Office Runtime のアセンブリ」を参照してください。

Office 拡張機能の設計の相違点

.NET Framework 3.5 用の Office 拡張機能で使用する型の大部分は、クラスです。 それらのクラスは、以前のバージョンの Visual Studio Tools for Office Runtime に含まれていたクラスと同じです。これに対して、.NET Framework 4 用の Office 拡張機能で使用する型の大部分は、インターフェイスです。 たとえば、.NET Framework 4 を対象とする場合、Microsoft.Office.Tools.Excel.Worksheet 型と Microsoft.Office.Tools.Word.Document 型はクラスではなくインターフェイスです。

ほとんどの場合、ソリューションが .NET Framework 3.5 を対象とするかまたは .NET Framework 4 を対象とするかに関係なく、Office ソリューションで記述するコードは同じです。 ただし、一部の機能については、対象となる .NET Framework のバージョンが異なる場合に別のコードが必要になります。 詳細については、「.NET Framework 4 への Office ソリューションの移行」を参照してください。

.NET Framework 4 用の Office 拡張機能に含まれるインターフェイス

.NET Framework 4 用の Office 拡張機能に含まれるインターフェイスの大部分は、ユーザー コードで実装されることを意図していません。 直接実装できるインターフェイスは、I という文字で始まる名前の付いたインターフェイスです。たとえば、ISmartTagExtension などです。

I という文字で始まる名前が付いていないインターフェイスの場合は、Visual Studio 2010 Tools for Office Runtime によって内部的に実装されます。また、これらのインターフェイスは、将来のリリースで変更される可能性があります。 これらのインターフェイスを実装するオブジェクトを作成するには、プロジェクトで Globals.Factory オブジェクトによって提供されるメソッドを使用します。 たとえば、SmartTag インターフェイスを実装するオブジェクトを取得するには、Globals.Factory.CreateSmartTag メソッドを使用します。 Globals.Factory の詳細については、「Office プロジェクト内のオブジェクトへのグローバル アクセス」を参照してください。

.NET Framework 4 を対象とするプロジェクトでの型の等価性と埋め込み型の有効化

.NET Framework 4 用の Office 拡張機能のインターフェイス ベースのオブジェクト モデルを使用すると、Visual C# 2010 および Visual Basic 2010 で型の等価性の機能を使用して、Visual Studio Tools for Office Runtime から取得した型情報をソリューションに埋め込むことができます。この機能によって、Office ソリューションおよび Visual Studio Tools for Office Runtime が、それぞれ独立してバージョン管理できるようになります。 たとえば、ソリューションで Microsoft.Office.Tools.Word.Document インターフェイスを埋め込み型として使用し、ランタイムの次のバージョンによって Microsoft.Office.Tools.Word.Document インターフェイスにメンバーが追加される場合でも、そのソリューションは引き続きランタイムの次のバージョンで機能します。 ソリューションで Microsoft.Office.Tools.Word.Document インターフェイスを埋め込み型として使用しない場合、そのソリューションはランタイムの次のバージョンで機能しません。

既定では、.NET Framework 4 を対象とする Office プロジェクトを作成するときに、型の等価性の機能が有効になりません。 この機能を有効にするには、プロジェクト内の次のアセンブリ参照の相互運用型の埋め込みプロパティを True に設定します。

  • Microsoft.Office.Tools.dll

  • Microsoft.Office.Tools.Common.dll

  • Microsoft.Office.Tools.Excel.dll

  • Microsoft.Office.Tools.Outlook.dll

  • Microsoft.Office.Tools.Word.dll

この変更を加えると、プロジェクトをビルドするときに、プロジェクトが使用するすべてのランタイム型の型情報が、ソリューション アセンブリに埋め込まれます。 実行時には、参照されるアセンブリの型情報ではなく、この埋め込み型情報がソリューションで使用されます。

Office ソリューション ローダーについて

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

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

VSTOEE.dll

ユーザーがドキュメント レベルのカスタマイズを開いたりアドインを起動したりすると、Office アプリケーションが VSTOEE.dll を呼び出し、Visual Studio Tools for Office Runtime の読み込みに必要なタスクを実行します。

VSTOEE.dll によって、ソリューションおよびインストール済みの Office のバージョンに適合する Visual Studio Tools for Office Runtime のバージョンが読み込まれます。 同じコンピューターに Visual Studio Tools for Office Runtime の複数のバージョンをインストールできますが、VSTOEE.dll のインスタンスは一度に 1 つしかインストールされません。 この VSTOEE.dll は、コンピューターにインストールしたランタイムの最新バージョンに含まれているものです。 他のソリューションで使用できるさまざまなバージョンの Visual Studio Tools for Office Runtime の詳細については、「異なるバージョンの Microsoft Office でのソリューションの実行」を参照してください。

VSTOLoader.dll

VSTOEE.dll によって適切なバージョンの Visual Studio Tools for Office Runtime が読み込まれた後、ソリューション アセンブリの読み込みに必要な大部分の処理は VSTOLoader.dll によって実行されます。 VSTOLoader.dll は次のような処理を実行します。

  • ソリューション アセンブリごとにアプリケーション ドメインを作成します。

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

  • ソリューションに必要な .NET Framework 用のバージョンの Office 拡張機能を読み込みます。

また、VSTOLoader.dll は次のようなアドインのみを対象とする処理も実行します。

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

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

32 ビット バージョンおよび 64 ビット バージョンのランタイムについて

Visual Studio 2010 Tools for Office Runtime には、64 ビット バージョンと 32 ビット バージョンがあります。 ランタイムのこれらのバージョンは、Microsoft Office 2010 の 64 ビット エディションおよび 32 ビット エディションでソリューションを実行するのに使用されます。 次の表は、Microsoft Windows と Microsoft Office 2010 のそれぞれの組み合わせで必要とされる、ランタイムのバージョンを示しています。

Microsoft Windows のエディション

Microsoft Office のエディション

Visual Studio Tools for Office Runtime のバージョン番号

32 ビット

32 ビット

32 ビット

64 ビット

32 ビット

64 ビット

64 ビット

64 ビット

64 ビット

Microsoft Office 2010 をインストールするときに、必要なバージョンの Visual Studio Tools for Office Runtime が Office と共にインストールされます。 たとえば、64 ビット エディションの Microsoft Office 2010 を 64 ビット バージョンの Microsoft Windows にインストールすると、64 ビット バージョンの Visual Studio Tools for Office Runtime もインストールされます。 Visual Studio Tools for Office Runtime を Microsoft Office 2010 と共にインストールする方法の詳細については、「Visual Studio Tools for Office ランタイムのインストール シナリオ」を参照してください。

64 ビット バージョンの Microsoft Office 2010 は、Visual Studio 2008 で 2007 Microsoft Office system 用のプロジェクト テンプレートを使用して作成された Office ソリューションも実行できます。 ただし、Visual Studio 2008 で Microsoft Office 2003 用のプロジェクト テンプレートを使用して作成された Office ソリューションや、Visual Studio 2005 を使用して作成された Office ソリューションは実行できません。 詳細については、「異なるバージョンの Microsoft Office でのソリューションの実行」を参照してください。

Visual Studio 2010 Tools for Office Runtime の修復

ランタイムを修復する必要がある場合は、[コントロール パネル] の [プログラムと機能] または [プログラムの追加と削除] を開き、プログラムの一覧から [Microsoft Visual Studio 2010 Tools for Office Runtime] (Microsoft Visual Studio 2010 Tools for Office Runtime) をクリックし、[アンインストール] をクリックします。 実行されるセットアップ プログラムを使用して、ランタイムを修復できます。 [変更] をクリックした場合、ランタイムを修復するオプションは表示されません。

参照

処理手順

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

概念

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

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

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

その他の技術情報

Visual Studio Tools for Office ランタイムのインストール シナリオ

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

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