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 によって自動的にインストールされます。
グローバル アセンブリ キャッシュ
これらのアセンブリのコピーは、開発タスクの中でプロジェクトを実行またはデバッグしたときなどに使用されます。これらのアセンブリのインストールと登録は、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 ソリューションを開発できるようにコンピューターを構成する」を参照してください。
Office PIA は、エンド ユーザーのコンピューターに Office ソリューションを実行する必要はありません。詳細については、「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 アプリケーション プライマリ相互運用機能アセンブリ
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 プライマリ相互運用機能アセンブリを参照するソリューションが、同じプライマリ相互運用機能アセンブリの Office 2010 バージョンがあるコンピューターで実行されると、バインディング リダイレクト アセンブリによって、そのプライマリ相互運用機能アセンブリの 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 アプリケーションを使用する