Office プライマリ相互運用機能アセンブリ

Office プロジェクトから Microsoft Office アプリケーションの機能を使用するには、アプリケーションのプライマリ相互運用機能アセンブリ (PIA: Primary Interop Assembly) を使用することが必要です。 PIA によって、Microsoft Office アプリケーションの COM ベースのオブジェクト モデルと対話するマネージ コードを作成できるようになります。

新しい Office プロジェクトを作成すると、Visual Studio により、そのプロジェクトのビルドに必要な PIA への参照が追加されます。 場合によっては、その他の PIA への参照を追加することが必要になります (たとえば、Microsoft Office Excel 用のプロジェクトで Microsoft Office Word の機能を使用する場合など)。

このトピックでは、Office プロジェクトでの Microsoft Office PIA の使用に関する次の側面について説明します。

  • プロジェクトをビルドして実行するためのプライマリ相互運用機能アセンブリ

  • 1 つのプロジェクトで複数の Microsoft Office アプリケーションの機能を使用する

  • Microsoft Office アプリケーション プライマリ相互運用機能アセンブリの完全な一覧

プライマリ相互運用機能アセンブリの詳細については、「プライマリ相互運用機能アセンブリ」を参照してください。

プロジェクトをビルドして実行するためのプライマリ相互運用機能アセンブリ

Visual Studio では、開発用コンピューターで PIA のさまざまなセットを使用します。 これらのアセンブリ セットは、次の場所に配置されます。

  • Program Files ディレクトリ下のフォルダー。

    これらのアセンブリのコピーは、コードを記述してプロジェクトをビルドするときに使用されます。 これらのアセンブリは、Visual Studio によって自動的にインストールされます。

  • グローバル アセンブリ キャッシュ

    これらのアセンブリのコピーは、.NET Framework 3.5 を対象とするプロジェクトの実行やデバッグを行うときなど、一部の開発タスクで使用されます。 これらのアセンブリのインストールと登録は、Visual Studio では行われません。手動で行う必要があります。

Program Files ディレクトリ下のプライマリ相互運用機能アセンブリ

Visual Studio をインストールすると、ファイル システム内の場所 (グローバル アセンブリ キャッシュ外部) に PIA が自動的にインストールされます。 新しいプロジェクトを作成すると、Visual Studio により、これらの PIA のコピーへの参照がプロジェクトに自動的に追加されます。 Visual Studio は、グローバル アセンブリ キャッシュ内のアセンブリではなく、これらの PIA のコピーを使用して、プロジェクトの開発やビルドを行うときに型参照を解決します。

PIA のコピーを使用することで、Visual Studio は、異なるバージョンの PIA がグローバル アセンブリ キャッシュに登録されている場合に発生することのある開発上の問題を回避できます。

Visual Studio は、開発用コンピューターの次の場所に、PIA のコピーをインストールします。

  • %ProgramFiles%\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office12

    (または、64 ビット オペレーティング システムでは %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office12)

  • %ProgramFiles%\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14

    (または、64 ビット オペレーティング システムでは %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14)

グローバル アセンブリ キャッシュ内のプライマリ相互運用機能アセンブリ

開発タスクを実行するには、開発用コンピューターのグローバル アセンブリ キャッシュに PIA をインストールし、登録する必要があります。 通常、開発用コンピューターに Office をインストールすると、自動的に PIA がインストールされます。 詳細については、「Office ソリューションを開発できるようにコンピューターを構成する」を参照してください。

エンド ユーザーのコンピューターで .NET Framework 3.5 を対象にした Office ソリューションを実行する場合にも、グローバル アセンブリ キャッシュに PIA をインストールし、登録しておく必要があります。 ただし、エンド ユーザーのコンピューターで .NET Framework 4 を対象にした Office ソリューションを実行する場合には、Office PIA は必要ありません。 詳細については、「Office ソリューションのデザインと作成」を参照してください。

単一のプロジェクトで複数の Microsoft Office アプリケーションの機能を使用する

Visual Studio の各 Office プロジェクト テンプレートは、単一の Microsoft Office アプリケーションと連動するようになっています。 複数の Microsoft Office アプリケーションの機能を使用したり、Visual Studio 内にプロジェクトが含まれないアプリケーションやコンポーネントの機能を使用したりするには、必要な PIA への参照を追加しなければなりません。

ほとんどの場合、Visual Studio によって %ProgramFiles%\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\ ディレクトリにインストールされる PIA への参照を追加することが必要になります。 これらのバージョンのアセンブリは、[参照の追加] ダイアログ ボックスの [.NET] タブに表示されます。 詳細については、「方法 : プライマリ相互運用機能アセンブリを利用して Office アプリケーションを使用する」を参照してください。

グローバル アセンブリ キャッシュに PIA をインストールして登録すると、これらのバージョンのアセンブリは、[参照の追加] ダイアログ ボックスの [COM] タブに表示されます。 これらのバージョンのアセンブリを使用すると開発上の問題が発生するため、これらのアセンブリに参照を追加することは避ける必要があります。 たとえば、異なるバージョンの PIA がグローバル アセンブリ キャッシュに登録されている場合、プロジェクトは最後に登録されたバージョンのアセンブリに自動的にバインドします。[参照の追加] ダイアログ ボックスの [COM] タブで別のバージョンのアセンブリを指定しても、プロジェクトは最後に登録されたバージョンのアセンブリにバインドします。

注意

アセンブリによっては、参照元のアセンブリを追加すると、参照先のアセンブリも自動的に追加される場合があります。 たとえば、Word、Excel、Outlook、Microsoft Forms、または Graph アセンブリへの参照を追加すると、アセンブリの Office.dll と Microsoft.Vbe.Interop.dll への参照も自動的に追加されます。

Microsoft Office アプリケーション プライマリ相互運用機能アセンブリ

Microsoft Office 2010 と 2007 Microsoft Office system で利用できるプライマリ相互運用機能アセンブリの一覧を次の表に示します。

Office アプリケーションまたはコンポーネント

プライマリ相互運用機能アセンブリの名前

Microsoft Access 12.0 Object Library

Microsoft Access 14.0 Object Library

Microsoft.Office.Interop.Access.dll

Microsoft Office 2007 Access Database Engine Object Library

Microsoft Office 14.0 Access Database Engine Object Library

Microsoft.Office.Interop.Access.Dao.dll

Microsoft Excel 12.0 Object Library

Microsoft Excel 14.0 Object Library

Microsoft.Office.Interop.Excel.dll

Microsoft Graph 12.0 Object Library (PowerPoint、Access、および Word のグラフで使用)

Microsoft Graph 14.0 Object Library

Microsoft.Office.Interop.Graph.dll

Microsoft InfoPath 2.0 Type Library (InfoPath 2007 専用)

Microsoft.Office.Interop.InfoPath.dll

Microsoft InfoPath XML 相互運用機能アセンブリ (InfoPath 2007 専用)

Microsoft.Office.Interop.InfoPath.Xml.dll

Microsoft Office 12.0 Object Library (Office の共有機能)

Microsoft Office 14.0 Object Library (Office の共有機能)

office.dll

Microsoft Office Outlook View Control (受信トレイにアクセスする Web ページおよびアプリケーションで使用可能)

Microsoft.Office.Interop.OutlookViewCtl.dll

Microsoft Outlook 12.0 Object Library

Microsoft Outlook 14.0 Object Library

Microsoft.Office.Interop.Outlook.dll

Microsoft PowerPoint 12.0 Object Library

Microsoft PowerPoint 14.0 Object Library

Microsoft.Office.Interop.PowerPoint.dll

Microsoft Project 12.0 Object Library

Microsoft Project 14.0 Object Library

Microsoft.Office.Interop.MSProject.dll

Microsoft Publisher 12.0 Object Library

Microsoft Publisher 14.0 Object Library

Microsoft.Office.Interop.Publisher.dll

Microsoft SharePointDesigner 12.0 Web Object Reference Library

Microsoft SharePointDesigner 14.0 Web Object Reference Library

Microsoft.Office.Interop.SharePointDesigner.dll

Microsoft SharePointDesigner 12.0 Page Object Reference Library

Microsoft SharePointDesigner 14.0 Page Object Reference Library

Microsoft.Office.Interop.SharePointDesignerPage.dll

Microsoft Smart Tags 2.0 Type Library

メモメモ
スマート タグは、Excel 2010 および Word 2010 では使用されていません。詳細については、「スマート タグの概要」を参照してください。

Microsoft.Office.Interop.SmartTag.dll

Microsoft Visio 12.0 Type Library

Microsoft Visio 14.0 Type Library

Microsoft.Office.Interop.Visio.dll

Microsoft Visio 12.0 Save As Web Type Library

Microsoft Visio 14.0 Save As Web Type Library

Microsoft.Office.Interop.Visio.SaveAsWeb.dll

Microsoft Visio 12.0 Drawing Control Type Library

Microsoft Visio 14.0 Drawing Control Type Library

Microsoft.Office.Interop.VisOcx.dll

Microsoft Word 12.0 Object Library

Microsoft Word 14.0 Object Library

Microsoft.Office.Interop.Word.dll

Microsoft Visual Basic for Applications Extensibility 5.3

Microsoft.Vbe.Interop.dll

バインディング リダイレクト アセンブリ

グローバル アセンブリ キャッシュに (Office と共に、または PIA の再頒布可能パッケージをインストールすることにより) Office PIA をインストールし、登録すると、同時にバインディング リダイレクト アセンブリがグローバル アセンブリ キャッシュだけにインストールされます。 これらのアセンブリにより、実行時にプライマリ相互運用機能アセンブリの正しいバージョンが確実に読み込まれます。 たとえば、2007 Microsoft Office プライマリ相互運用機能アセンブリを参照するソリューションが、同じプライマリ相互運用機能アセンブリの Microsoft Office 2010 バージョンがあるコンピューターで実行されると、バインディング リダイレクト アセンブリによって、そのプライマリ相互運用機能アセンブリの Microsoft Office 2010 バージョンを読み込むように .NET Framework ランタイムに指示されます。 詳細については、「アセンブリ バインディングのリダイレクト」を参照してください。

各バインディング リダイレクト アセンブリには、Policy.11.0.PIA Name.dll または Policy.12.0.PIA Name.dll の形式の名前が付いています。たとえば、Policy.11.0.Microsoft.Office.Interop.Excel.dll や Policy.12.0.Microsoft.Office.Interop.Excel.dll などです。

参照

処理手順

方法 : プライマリ相互運用機能アセンブリを利用して Office アプリケーションを使用する

概念

Excel オブジェクト モデルの概要

InfoPath ソリューション

Outlook オブジェクト モデルの概要

PowerPoint ソリューション

Project ソリューション

Visio オブジェクト モデルの概要

Word オブジェクト モデルの概要

その他の技術情報

全般リファレンス (Visual Studio での Office 開発)