Office ソリューションの設計と作成Design and create Office solutions

Visual Studio には、さまざまな種類の Office ソリューションの作成に使用できるプロジェクト テンプレートが用意されています。Visual Studio provides project templates that you can use to create several different types of Office solutions. ここでは、プロジェクト テンプレートについて説明し、Office プロジェクトを作成するためのガイダンスを示します。This section of the documentation describes the project templates and provides guidance about creating Office projects. プロジェクトの作成後にコードおよびユーザーインターフェイスのカスタマイズを実装する方法の詳細については、「 Office ソリューションの開発」を参照してください。For information about how to implement code and user interface customizations after you have created your project, see Develop Office solutions.

適用対象: このトピックの情報は、ドキュメントに適用されます-レベルのプロジェクトおよび VSTO 追加-プロジェクト。Applies to: The information in this topic applies to document-level projects and VSTO Add-in projects. 参照してくださいOffice アプリケーションおよびプロジェクトの種類で使用できる機能します。See Features available by Office application and project type.


複数のプラットフォームにまたがる 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 プロジェクトを作成するCreate Office projects

開始する前に、要件を決定し、最適なソリューションの種類を探します。Before you begin, you should determine your requirements and discover the type of solution that offers the best fit. たとえば、アプリケーションを使用するたびに作成した Office ソリューションを実行する必要がある場合は、VSTO アドインが最適です。For example, if your Office solution must run every time the application is used, a VSTO Add-in best fits your requirements. コードが 1 つのドキュメントと緊密に統合されている場合は、ドキュメント レベルのカスタマイズを作成します。If the code is tightly integrated with a single document, create a document-level customization. これらのプロジェクト タイプは、Visual Studio のプロジェクト テンプレートとして利用できます。These project types are available as Visual Studio project templates. Visual Studio に含まれる Office プロジェクトテンプレートの詳細については、「 office プロジェクトテンプレートの概要」を参照してください。For more information about the Office project templates that are included with Visual Studio, see Office project templates overview. Office プロジェクトを作成する方法の詳細については、「方法:Visual Studio で Office プロジェクトを作成する方法」を参照してください。For more information about how to create Office projects, see How to: Create Office projects in Visual Studio.

Office プロジェクトには、Visual Studio の他の種類のプロジェクトとは異なる機能とプロジェクト項目があります。Office projects have features and project items that are different from other types of projects in Visual Studio. たとえば、ドキュメント レベルのプロジェクトを作成した場合は、プロジェクト内の文書またはブックを Visual Studio 内部で開いて編集できます。For example, when you create a document-level project, the document or workbook in your project can be opened and edited inside Visual Studio. 詳細については、「Visual Studio 環境における Office プロジェクト」を参照してください。For more information, see Office projects in the Visual Studio environment.

.NET Framework のバージョンを選択してくださいChoose a .NET Framework version

要件に最適なプロジェクトの種類を選択した後に、開発工程で使用する .NET Framework のバージョンを選択できます。After selecting the project type that best fits your requirements, you can choose which version of the .NET Framework to use in your development process. Office プロジェクトでは、次のバージョンの .NET Framework を対象にすることができます。You can target the following .NET Framework versions in Office projects:

  • .NET Framework 4.NET Framework 4

  • .NET Framework 4 Client Profile.NET Framework 4 Client Profile

  • .NET Framework 4.5.NET Framework 4.5

    ソリューションを実行するエンドユーザーのコンピューターでは、プロジェクト用に選択した .NET Framework バージョンが必要です。The .NET Framework version that you choose for your project is required on end-user computers for your solution to run. たとえば、プロジェクトがを対象.NET Framework 4.NET Framework 4 .NET Framework 4.NET Framework 4としている場合、エンドユーザーのコンピューターにはが必要です。For example, if your project targets the .NET Framework 4.NET Framework 4, the .NET Framework 4.NET Framework 4 is required on end-user computers. この例では、エンドユーザーのコンピューターに .NET Framework 3.5 のみがインストールされている場合、ソリューションは実行されません。In this example, your solution will not run if only the .NET Framework 3.5 is installed on end-user computers.

    .NET Framework 3.5 を対象とする VSTO アドイン プロジェクトを移行する場合、インストールした Office のバージョンに応じて、Visual Studio によってプロジェクトのターゲット フレームワークが .NET Framework 4.NET Framework 4 以降に変更されます。If you migrate a VSTO Add-in project that targets the .NET Framework 3.5, Visual Studio changes the target framework of your project to .NET Framework 4.NET Framework 4 or later depending on the version of Office that you have installed.

    ただし、プロジェクトで特定の機能を使用している場合は、Visual Studio によるターゲット フレームワークの変更後に、プロジェクトのコードの一部を変更することが必要になる場合があります。However, after Visual Studio changes the target framework, you might need to modify some of the code in your project if it uses certain features. ターゲットフレームワークを変更する方法の詳細については、「」を参照してください.NET Framework のターゲット バージョンを指定する」を参照してください。For more information about how to change the target framework, see How to: Target a version of the .NET Framework. プロジェクトで行う必要がある変更の詳細については、「 .NET Framework 4 以降への Office ソリューションの移行」を参照してください。For more information about changes you might need to make in your project, see Migrate Office solutions to the .NET Framework 4 or later.

    Visual Studio によってプロジェクトのターゲット .NET Framework が変更され、ClickOnce を使用してソリューションを配置している場合は、 [必須コンポーネント] ダイアログボックスでも、対応するバージョンの .NET Framework を選択してください。If Visual Studio changes the target .NET Framework for your project and you are using ClickOnce to deploy your solution, make sure that you also select the corresponding version of the .NET Framework in the Prerequisites dialog box. プロジェクトのターゲット フレームワークを変更しても、この選択内容は自動的には変わりません。This selection does not change automatically when you change the target framework for your project. 詳細については、「方法 :Office ソリューションを実行するには、エンドユーザーのコンピューターに必須コンポーネントをインストールします。For more information, see How to: Install prerequisites on end-user computers to run Office solutions.


.NET Framework 3.5 以前を Visual Studio 2013Visual Studio 2013 を使用して作成した Office プロジェクトの対象にすることはできません。You cannot target the .NET Framework 3.5 or earlier in Office projects that you create by using Visual Studio 2013Visual Studio 2013. Visual Studio 2013Visual Studio 2013 を使用して作成した Office プロジェクトには、.NET Framework 4 Client Profile.NET Framework 4 Client Profile で導入された機能が必要です。Office projects that you create by using Visual Studio 2013Visual Studio 2013 require features that were first introduced in the .NET Framework 4 Client Profile.NET Framework 4 Client Profile

エンドユーザーのコンピューターで Office Pia が必要になるタイミングを理解するUnderstand when the Office PIAs are required on end-user computers

既定では、プロジェクト内の各 Office PIA 参照の [相互運用機能型の埋め込み] プロパティが既定値である [True] に設定されている場合、エンドユーザーのコンピューターに office プライマリ相互運用機能アセンブリ (pia) をインストールする必要はありません。By default, Office primary interop assemblies (PIAs) do not need to be installed on end-user computers if the Embed Interop Types property of each Office PIA reference in the project is set to True, which is the default value. この場合、プロジェクトをビルドすると、ソリューションが使用する PIA 型の型情報がソリューション アセンブリに埋め込まれます。In this scenario, the type information for the PIA types that are used by your solution is embedded into the solution assembly when you build the project. 実行時には、埋め込み型情報が Pia の代わりに使用され、Office アプリケーションの COM ベースのオブジェクトモデルを呼び出します。At run time, the embedded type information is used instead of the PIAs to call into the Office application's COM-based object model. Pia の型をソリューションに埋め込む方法の詳細については、「型の等価性と埋め込み相互運用機能型」を参照してください。For more information about how types from PIAs are embedded into your solution, see Type equivalence and embedded interop types.

プロジェクト内の各 Office PIA 参照の [相互運用型の埋め込み] プロパティが [False] に設定されている場合は、ソリューションを実行する各エンドユーザーコンピューターのグローバルアセンブリキャッシュに office pia をインストールし、登録する必要があります。If the Embed Interop Types property of each Office PIA reference in the project is set to False, Office PIAs must be installed and registered in the global assembly cache on each end-user computer that runs the solution. ほとんどの場合、PIA は既定で Office と共にインストールされますが、ソリューションの必須コンポーネントとして再頒布可能な PIA を含めることもできます。In most cases, the PIAs are installed by default with Office, but you can also include the PIA redistributable as a prerequisite for your solution. 詳細については、「 Office ソリューションの配置の前提条件」を参照してください。For more information, see Office solution prerequisites for deployment.

クライアントプロファイルについてUnderstand the client profile

.NET Framework Client Profile は、完全な .NET Framework のサブセットです。The .NET Framework Client Profile is a subset of the full .NET Framework. .NET Framework のクライアント機能のみを使用し、Office ソリューションをできる限り迅速に配置する必要がある場合は、.NET Framework Client Profile を対象にすることができます。You can target the .NET Framework Client Profile if you need to use only the client features in the .NET Framework and you want to provide the fastest possible deployment experience for your Office solution. 詳細については、「 .NET Framework client profile」を参照してください。For more information, see .NET Framework client profile.

.NET Framework 4.NET Framework 4 を対象とする Office プロジェクトを作成するときに、既定で .NET Framework 4 Client Profile.NET Framework 4 Client Profile が対象となります。When you create an Office project that targets the .NET Framework 4.NET Framework 4, the .NET Framework 4 Client Profile.NET Framework 4 Client Profile is targeted by default. 完全な .NET Framework 4.NET Framework 4 用に開発する場合は、プロジェクトを作成した後でこのオプションを設定する必要があります。If you want to develop for the full .NET Framework 4.NET Framework 4, you must set this option after the project is created. 詳細については、「方法 :.NET Framework のターゲット バージョンを指定する」を参照してください。For more information, see How to: Target a version of the .NET Framework.

Microsoft Office の64ビット版のソリューションを作成するCreate solutions for the 64-bit edition of Microsoft Office

Microsoft Office には、64 ビットと 32 ビットのエディションがあります。Microsoft Office is available in 64-bit and 32-bit editions. いずれかのエディションで実行できる Office ソリューションを作成するには、プロジェクトのプラットフォームターゲット設定を [ANY CPU] に設定する必要があります。To create Office solutions that can run in either edition, the platform target setting for your project must be set to Any CPU. これは、Office プロジェクトの既定値です。This is the default value for Office projects. 詳細については、「 Office ソリューションのビルド」を参照してください。For more information, see Build Office solutions.

Visual Studio Tools for Office RuntimeVisual Studio Tools for Office runtime には、64 ビットと 32 ビットの別個のバージョンがあり、それぞれ Microsoft Office の 64 ビットおよび 32 ビットのエディションによって使用されます。There are separate 64-bit and 32-bit versions of the Visual Studio Tools for Office RuntimeVisual Studio Tools for Office runtime that are used by the 64-bit and 32-bit editions of Microsoft Office. 詳細については、Visual Studio Tools for Office runtime の概要を参照してください。For more information, see Visual Studio Tools for Office runtime overview.

Office ソリューションのアセンブリAssemblies in Office solutions

Visual Studio の Office 開発ツールを使用して Office プロジェクトを作成した場合、記述したコードは最終的にアセンブリにコンパイルされます。When you create an Office project by using the Office development tools in Visual Studio, the code that you write is eventually compiled into an assembly. アセンブリは、共有サーバーまたはクライアントコンピューター上のディレクトリに配置されます。The assembly is deployed to a shared server or to a directory on the client computer.

Office ソリューションのアセンブリは Office アプリケーションによって読み込まれます。Assemblies in Office solutions are loaded by an Office application. アセンブリが読み込まれると、アセンブリ内のコードがアプリケーションで発生するイベント (ユーザーがメニュー項目をクリックした場合など) に応答できます。After the assembly is loaded, code in the assembly can respond to events that are raised in the application, for example, when a user clicks a menu item. アセンブリ内のコードでは、オブジェクト モデルを呼び出してアプリケーションの自動化や拡張を行うこともでき、さらに .NET Framework.NET Framework のクラスも使用できます。Code in the assembly can also call into the object model to automate and extend the application, and it can use any of the classes in the .NET Framework.NET Framework. 詳細については、「ドキュメントレベルのカスタマイズのアーキテクチャ」および「 VSTO アドインのアーキテクチャ」を参照してください。For more information, see Architecture of document-level customizations and Architecture of VSTO Add-ins.

Office ソリューションでは、配置マニフェストとアプリケーション マニフェストを使用してアセンブリを特定します。Office solutions use deployment manifests and application manifests to identify the assembly. これらのマニフェストには、アセンブリの名前、バージョン、および場所に関する情報が含まれているので、アプリケーションでは正しいアセンブリの検索、リンク、および実行ができます。The manifests contain information about the assembly's name, version, and location, so that the application can find, link to, and run the correct assembly. 詳細については、「 Office ソリューションのアプリケーションマニフェストと配置マニフェスト」を参照してください。For more information, see Application and deployment manifests in Office solutions.

ドキュメント レベルのプロジェクトには、アセンブリに加え、ドキュメントも含まれています。Document-level projects include a document in addition to an assembly. ドキュメントは、アプリケーションのフロント エンドとして機能し、ユーザーはすべての操作をドキュメント上で行います。The document acts as the front end of the application and is where all user interaction takes place. 各ドキュメントは、メイン プロジェクト アセンブリを 1 つしか関連付けることができませんが、複数のドキュメントが同じアセンブリをポイントすることは可能です。Each document can have only one main project assembly associated with it; however, multiple documents can point to the same assembly.

ドキュメント レベルのプロジェクトのアセンブリは、ドキュメントに埋め込まれるわけではなく、別の場所に格納されていて、ドキュメントのアプリケーション マニフェストによって識別されます。Assemblies in document-level projects are not embedded in the document; instead, they are stored elsewhere and are identified by the document's application manifest.

アセンブリのセキュリティに関する考慮事項Security considerations for assemblies

Office ソリューションをコンピューターで実行する場合、ソリューションに使用されるアセンブリは信頼して実行できる必要があります。For an Office solution to run on a computer, the assemblies used by the solution must be trusted to run. セキュリティの詳細については、「 Office ソリューションのセキュリティ保護」を参照してください。For more information about security, see Secure Office solutions.

既定では、プロジェクトの出力フォルダーにあるソリューション アセンブリおよび参照アセンブリは、プロジェクトをビルドするときに開発用コンピューターで信頼して実行できます。By default, the solution assembly and any referenced assemblies that are in your project's output folder are trusted to run on the development computer when you build the project. 詳細については、「 Office ソリューションのビルド」を参照してください。For more information, see Build Office solutions.

セキュリティ上の理由により、プロジェクトは、共有の場所に配置するのではなく、ローカル コンピューター上に作成することをお勧めします。For security reasons, it is best to create projects on your local computer, rather than developing on a shared location. 詳細については、「 Office ソリューションの共同開発」を参照してください。For more information, see Collaborative development of Office solutions.

参照アセンブリReferenced assemblies

アセンブリは、プロジェクトの参照にリストされている他のアセンブリを参照できます。The assembly can reference other assemblies, which are listed in the project's references. ただし、ドキュメント レベルのプロジェクト アセンブリが別のドキュメント レベルのプロジェクト アセンブリを参照することはできません。However, one document-level project assembly cannot reference another document-level project assembly.

関連項目See also