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

Office プロジェクトから Microsoft Office アプリケーションの機能を使用するには、アプリケーションのプライマリ相互運用機能アセンブリ (PIA: Primary Interop Assembly) を使用することが必要です。To use the features of a Microsoft Office application from an Office project, you must use the primary interop assembly (PIA) for the application. PIA によって、Microsoft Office アプリケーションの COM ベースのオブジェクト モデルと対話するマネージド コードを作成できるようになります。The PIA enables managed code to interact with a Microsoft Office application's COM-based object model.

Note

複数のプラットフォームにまたがる Office を拡張するソリューション開発に関心がありますか?Interested in developing solutions that extend the Office experience across multiple platforms? 新しい Office アドイン モデルをチェックして下さい。Check out the new Office Add-ins model. Office アドインは、VSTO アドインとソリューションに比べて小さなフット プリントを持ち、HTML5、JavaScript、CSS3、XML といった、ほぼすべての Web プログラミング テクノロジを使用して、それらをビルドすることができます。Office Add-ins have a small footprint compared to VSTO Add-ins and solutions, and you can build them by using almost any web programming technology, such as HTML5, JavaScript, CSS3, and XML.

新しい Office プロジェクトを作成すると、Visual Studio により、そのプロジェクトのビルドに必要な PIA への参照が追加されます。When you create a new Office project, Visual Studio adds references to the PIAs that are required to build the project. 場合によっては、その他の PIA への参照を追加することが必要になります (たとえば、Microsoft Office Excel 用のプロジェクトで Microsoft Office Word の機能を使用する場合など)。In some scenarios, you might need to add references to additional PIAs (for example, if you want to use a feature of Microsoft Office Word in a project for Microsoft Office Excel).

このトピックでは、Office プロジェクトでの Microsoft Office PIA の使用に関する次の側面について説明します。This topic describes the following aspects of using the Microsoft Office PIAs in Office projects:

プライマリ相互運用機能アセンブリの詳細については、「プライマリ相互運用機能アセンブリ」を参照してください。For more information about primary interop assemblies, see Primary interop assemblies.

プロジェクトをビルドおよび実行するためのプライマリ相互運用機能アセンブリの分離Separate primary interop assemblies to build and run projects

Visual Studio では、開発用コンピューターで PIA のさまざまなセットを使用します。Visual Studio uses different sets of the PIAs on the development computer. これらのアセンブリ セットは、次の場所に配置されます。These different sets of assemblies are in the following locations:

  • Program files ディレクトリ内のフォルダーA folder in the program files directory

    これらのアセンブリのコピーは、コードを記述してプロジェクトをビルドするときに使用されます。These copies of the assemblies are used when you write code and build projects. これらのアセンブリは、Visual Studio によって自動的にインストールされます。Visual Studio installs these assemblies automatically.

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

    これらのアセンブリのコピーは、プロジェクトの実行やデバッグを行うときなど、一部の開発タスクで使用されます。These copies of the assemblies are used during some development tasks, such as when you run or debug projects. これらのアセンブリのインストールと登録は、Visual Studio では行われません。手動で行う必要があります。Visual Studio does not install and register these assemblies; you must do this yourself.

Program files ディレクトリ内のプライマリ相互運用機能アセンブリPrimary interop assemblies in the program files directory

Visual Studio をインストールすると、ファイル システム内の場所 (グローバル アセンブリ キャッシュ外部) に PIA が自動的にインストールされます。When you install Visual Studio, the PIAs are automatically installed to a location in the file system, outside of the global assembly cache. 新しいプロジェクトを作成すると、Visual Studio により、これらの PIA のコピーへの参照がプロジェクトに自動的に追加されます。When you create a new project, Visual Studio automatically adds references to these copies of the PIAs to your project. Visual Studio は、グローバル アセンブリ キャッシュ内のアセンブリではなく、これらの PIA のコピーを使用して、プロジェクトの開発やビルドを行うときに型参照を解決します。Visual Studio uses these copies of the PIAs, instead of the assemblies in the global assembly cache, to resolve type references when you develop and build your project.

PIA のコピーを使用することで、Visual Studio は、異なるバージョンの PIA がグローバル アセンブリ キャッシュに登録されている場合に発生することのある開発上の問題を回避できます。These copies of the PIAs help Visual Studio avoid several development issues that can occur when different versions of the PIAs are registered in the global assembly cache.

Visual Studio 2017 以降では、これらの Pia のコピーは、開発用コンピューター上の次の共有場所にインストールされます。Starting with Visual Studio 2017, these copies of the PIAs are installed to following shared locations on the development computer:

  • *%ProgramFiles%\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA**%ProgramFiles%\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA*

  • (または *% ProgramFiles (x86)% \ Microsoft Visual Studio\Shared\Visual Studio Tools for* Office\PIA on 64 ビット版オペレーティングシステム)(or *%ProgramFiles(x86)%\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA* on 64-bit operating systems)

Note

以前のバージョンの Visual Studio では、これらの Pia は、そのバージョンの Visual Studio の *% ProgramFiles% フォルダーにある Office\PIA フォルダーの Visual Studio Tools にインストールされます。For older versions of Visual Studio, these PIAs will be installed to the Visual Studio Tools for Office\PIA folder under the *%ProgramFiles% folder for that version of Visual Studio.
例: *% ProgramFiles (x86)% \ Microsoft Visual Studio 14.0 \ Visual Studio Tools for Office\PIA*For Example: *%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Visual Studio Tools for Office\PIA*

グローバルアセンブリキャッシュ内のプライマリ相互運用機能アセンブリPrimary interop assemblies in the global assembly cache

開発タスクを実行するには、開発用コンピューターのグローバル アセンブリ キャッシュに PIA をインストールし、登録する必要があります。To perform certain development tasks, the PIAs must be installed and registered in the global assembly cache on the development computer. 通常、開発用コンピューターに Office をインストールすると、自動的に PIA がインストールされます。Typically, the PIAs are installed automatically when you install Office on the development computer. 詳細については、Office ソリューションを開発するコンピューターの構成を参照してください。For more information, see Configure a computer to develop Office solutions.

Office PIA は、 Office ソリューションを実行するエンド ユーザーのコンピューターには必要ありません。The Office PIAs are not required on end-user computers to run Office solutions. 詳細については、Office ソリューションのデザインと作成を参照してください。For more information, see Design and create Office solutions.

1つのプロジェクトで複数の Microsoft Office アプリケーションの機能を使用するUse features of multiple Microsoft Office applications in a single project

Visual Studio の各 Office プロジェクト テンプレートは、単一の Microsoft Office アプリケーションと連動するようになっています。Every Office project template in Visual Studio is designed to work with a single Microsoft Office application. 複数の Microsoft Office アプリケーションの機能を使用したり、Visual Studio 内にプロジェクトが含まれないアプリケーションやコンポーネントの機能を使用したりするには、必要な PIA への参照を追加しなければなりません。To use features in multiple Microsoft Office applications, or to use features in an application or component that does not have a project in Visual Studio, you must add a reference to the required PIAs.

ほとんどの場合、ディレクトリの%ProgramFiles(x86)%\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\下に Visual Studio によってインストールされた pia への参照を追加する必要があります。In most cases, you should add references to the PIAs that are installed by Visual Studio under the %ProgramFiles(x86)%\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\ directory. これらのバージョンのアセンブリは、 [参照マネージャー] ダイアログボックスの [フレームワーク] タブに表示されます。These versions of the assemblies appear on the Framework tab of the Reference Manager dialog box. 詳細については、「方法 :プライマリ相互運用機能アセンブリを使用して Office アプリケーションを対象にします。For more information, see How to: Target Office applications through primary interop assemblies.

グローバル アセンブリ キャッシュに PIA をインストールして登録すると、これらのバージョンのアセンブリは、 [参照マネージャー] ダイアログ ボックスの [COM] タブに表示されます。If you have installed and registered the PIAs in the global assembly cache, these versions of the assemblies appear on the COM tab of the Reference Manager dialog box. これらのバージョンのアセンブリを使用すると開発上の問題が発生するため、これらのアセンブリに参照を追加することは避ける必要があります。You should avoid adding references to these versions of the assemblies, because there are some development issues that can occur when you use them. たとえば、異なるバージョンの PIA がグローバル アセンブリ キャッシュに登録されている場合、 [参照マネージャー] ダイアログ ボックスの [COM] タブで別のバージョンのアセンブリを指定しても、プロジェクトは最後に登録されたバージョンのアセンブリにバインドします。For example, if you have registered different versions of the PIAs in the global assembly cache, your project will automatically bind to the version of the assembly that was registered last—even if you specify a different version of the assembly on the COM tab of the Reference Manager dialog box.

Note

アセンブリによっては、参照元のアセンブリを追加すると、参照先のアセンブリも自動的に追加される場合があります。Some assemblies are added to a project automatically when an assembly that references them is added. たとえば、Word、Excel、Outlook、Microsoft Forms、または Graph アセンブリへの参照を追加すると、 Office .dllアセンブリおよびmicrosoft. Interop. .dllアセンブリへの参照が自動的に追加されます。For example, references to the Office.dll and Microsoft.Vbe.Interop.dll assemblies are added automatically when you add a reference to the Word, Excel, Outlook, Microsoft Forms, or Graph assemblies.

Microsoft Office アプリケーションのプライマリ相互運用機能アセンブリPrimary interop assemblies for Microsoft Office applications

次の表にOffice 2016Office 2016、、、 Office 2013Office 2013およびOffice 2010Office 2010で使用できるプライマリ相互運用機能アセンブリの一覧を示します。The following table lists the primary interop assemblies that are available for Office 2016Office 2016, Office 2013Office 2013 and Office 2010Office 2010.


Office アプリケーションまたはコンポーネントOffice application or component プライマリ相互運用機能アセンブリの名前Primary interop assembly name
Microsoft Access 14.0 Object LibraryMicrosoft Access 14.0 Object Library

Microsoft Access 15.0 Object LibraryMicrosoft Access 15.0 Object Library
Microsoft.Office.Interop.Access.dllMicrosoft.Office.Interop.Access.dll
Microsoft Office 14.0 Access Database Engine Object LibraryMicrosoft Office 14.0 Access Database Engine Object Library

Microsoft Office 15.0 Access Database Engine Object LibraryMicrosoft Office 15.0 Access Database Engine Object Library
Microsoft.Office.Interop.Access.Dao.dllMicrosoft.Office.Interop.Access.Dao.dll
Microsoft Excel 14.0 Object LibraryMicrosoft Excel 14.0 Object Library

Microsoft Excel 15.0 Object LibraryMicrosoft Excel 15.0 Object Library
Microsoft. Interop. Excel .dllMicrosoft.Office.Interop.Excel.dll
Microsoft Graph 14.0 Object Library (PowerPoint、Access、および Word のグラフで使用)Microsoft Graph 14.0 Object Library (used by PowerPoint, Access, and Word for graphs)

Microsoft Graph 15.0 Object LibraryMicrosoft Graph 15.0 Object Library
Microsoft.Office.Interop.Graph.dllMicrosoft.Office.Interop.Graph.dll
Microsoft InfoPath 2.0 Type Library (InfoPath 2007 専用)Microsoft InfoPath 2.0 Type Library (for InfoPath 2007 only) Microsoft. Interop. .dllMicrosoft.Office.Interop.InfoPath.dll
Microsoft InfoPath XML 相互運用機能アセンブリ (InfoPath 2007 専用)Microsoft InfoPath XML Interop Assembly (for InfoPath 2007 only) Microsoft.Office.Interop.InfoPath.Xml.dllMicrosoft.Office.Interop.InfoPath.Xml.dll
Microsoft Office 14.0 Object Library (Office の共有機能)Microsoft Office 14.0 Object Library (Office shared functionality)

Microsoft Office 15.0 Object Library (Office の共有機能)Microsoft Office 15.0 Object Library (Office shared functionality)
office.dlloffice.dll
Microsoft Office Outlook View Control (受信トレイにアクセスする Web ページおよびアプリケーションで使用可能)Microsoft Office Outlook View Control (can be used in Web pages and applications to access your Inbox) Microsoft.Office.Interop.OutlookViewCtl.dllMicrosoft.Office.Interop.OutlookViewCtl.dll
Microsoft Outlook 14.0 Object LibraryMicrosoft Outlook 14.0 Object Library

Microsoft Outlook 15.0 Object LibraryMicrosoft Outlook 15.0 Object Library
Microsoft. Interop. Outlook .dllMicrosoft.Office.Interop.Outlook.dll
Microsoft PowerPoint 14.0 Object LibraryMicrosoft PowerPoint 14.0 Object Library

Microsoft PowerPoint 15.0 Object LibraryMicrosoft PowerPoint 15.0 Object Library
Microsoft.Office.Interop.PowerPoint.dllMicrosoft.Office.Interop.PowerPoint.dll
Microsoft Project 14.0 Object LibraryMicrosoft Project 14.0 Object Library

Microsoft Project 15.0 Object LibraryMicrosoft Project 15.0 Object Library
Microsoft.Office.Interop.MSProject.dllMicrosoft.Office.Interop.MSProject.dll
Microsoft Publisher 14.0 Object LibraryMicrosoft Publisher 14.0 Object Library

Microsoft Publisher 15.0 Object LibraryMicrosoft Publisher 15.0 Object Library
Microsoft.Office.Interop.Publisher.dllMicrosoft.Office.Interop.Publisher.dll
Microsoft SharePointDesigner 14.0 Web Object Reference LibraryMicrosoft SharePoint Designer 14.0 Web Object Reference Library Microsoft.Office.Interop.SharePointDesigner.dllMicrosoft.Office.Interop.SharePointDesigner.dll
Microsoft SharePointDesigner 14.0 Page Object Reference LibraryMicrosoft SharePoint Designer 14.0 Page Object Reference Library Microsoft.Office.Interop.SharePointDesignerPage.dllMicrosoft.Office.Interop.SharePointDesignerPage.dll
Microsoft スマートタグ2.0 タイプライブラリメモ: スマート タグは、Excel 2010Excel 2010 および Word 2010Word 2010 で非推奨とされます。Microsoft Smart Tags 2.0 Type Library Note: Smart tags are deprecated in Excel 2010Excel 2010 and Word 2010Word 2010. Microsoft.Office.Interop.SmartTag.dllMicrosoft.Office.Interop.SmartTag.dll
Microsoft Visio 14.0 Type LibraryMicrosoft Visio 14.0 Type Library

Microsoft Visio 15.0 Type LibraryMicrosoft Visio 15.0 Type Library
Microsoft.Office.Interop.Visio.dllMicrosoft.Office.Interop.Visio.dll
Microsoft Visio 14.0 Save As Web Type LibraryMicrosoft Visio 14.0 Save As Web Type Library

Microsoft Visio 15.0 Save As Web Type LibraryMicrosoft Visio 15.0 Save As Web Type Library
Microsoft.Office.Interop.Visio.SaveAsWeb.dllMicrosoft.Office.Interop.Visio.SaveAsWeb.dll
Microsoft Visio 14.0 Drawing Control Type LibraryMicrosoft Visio 14.0 Drawing Control Type Library

Microsoft Visio 15.0 Drawing Control Type LibraryMicrosoft Visio 15.0 Drawing Control Type Library
Microsoft.Office.Interop.VisOcx.dllMicrosoft.Office.Interop.VisOcx.dll
Microsoft Word 14.0 Object LibraryMicrosoft Word 14.0 Object Library

Microsoft Word 15.0 Object LibraryMicrosoft Word 15.0 Object Library
Microsoft. Interop. Word .dllMicrosoft.Office.Interop.Word.dll
Microsoft Visual Basic for Applications Extensibility 5.3Microsoft Visual Basic for Applications Extensibility 5.3 Microsoft.Vbe.Interop.dllMicrosoft.Vbe.Interop.dll

バインドリダイレクトアセンブリBinding redirect assemblies

グローバル アセンブリ キャッシュに (Office と共に、または PIA の再頒布可能パッケージをインストールすることにより) Office PIA をインストールし、登録すると、同時にバインディング リダイレクト アセンブリがグローバル アセンブリ キャッシュだけにインストールされます。When you install and register the Office PIAs in the global assembly cache (either with Office or by installing the redistributable package for the PIAs), the binding redirect assemblies are also installed only in the global assembly cache. これらのアセンブリは、実行時にプライマリ相互運用機能アセンブリの正しいバージョンが読み込まれるようにするのに役立ちます。These assemblies help make sure that the correct version of the primary interop assemblies is loaded at runtime.

たとえば、 Office 2010Office 2010 アセンブリを参照するソリューションが、同じプライマリ相互運用機能アセンブリの Office 2013Office 2013 バージョンがあるコンピューターで実行されると、バインド リダイレクト アセンブリによって、そのプライマリ相互運用機能アセンブリの .NET Framework.NET Framework バージョンを読み込むように Office 2013Office 2013 ランタイムに指示されます。For example, when a solution that references a Office 2010Office 2010 assembly runs on a computer that has the Office 2013Office 2013 version of the same primary interop assembly, the binding redirect assembly instructs the .NET Framework.NET Framework runtime to load the Office 2013Office 2013 version of the primary interop assembly.

詳細については、「方法 :自動バインドリダイレクトを有効または無効にします。For more information, see How to: Enable and disable automatic binding redirection.

関連項目See also