Office ソリューションを設計して作成する

Visual Studio には、さまざまな種類の Office ソリューションの作成に使用できるプロジェクト テンプレートが用意されています。 ここでは、プロジェクト テンプレートについて説明し、Office プロジェクトを作成するためのガイダンスを示します。 プロジェクトを作成した後でコードやユーザー インターフェイスのカスタマイズを実装する方法の詳細については、「Office ソリューションを開発する」を参照してください。

対象: このトピックの情報は、ドキュメントレベルのプロジェクトおよび VSTO アドイン プロジェクトに適用されます。 「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

Note

複数のプラットフォームで Office エクスペリエンスを拡張するソリューションの開発に関心がありますか。 新しい Office アドイン モデルを確認してください。 Office アドインの占有領域は、VSTO アドインやソリューションと比較して小さく、その作成には、HTML5、JavaScript、CSS3、XML など、ほぼすべての Web プログラミング テクノロジを使用できます。

Office プロジェクトを作成する

開始する前に、要件を決定し、最適なソリューションの種類を探します。 たとえば、アプリケーションを使用するたびに作成した Office ソリューションを実行する必要がある場合は、VSTO アドインが最適です。 コードが 1 つのドキュメントと緊密に統合されている場合は、ドキュメント レベルのカスタマイズを作成します。 これらのプロジェクト タイプは、Visual Studio のプロジェクト テンプレートとして利用できます。 Visual Studio に付属している Office プロジェクト テンプレートの詳細については、「Office プロジェクト テンプレートの概要」を参照してください。 Office プロジェクトを作成する方法の詳細については、「方法: Visual Studio で Office プロジェクトを作成する」を参照してください。

Office プロジェクトには、Visual Studio の他の種類のプロジェクトとは異なる機能とプロジェクト項目があります。 たとえば、ドキュメント レベルのプロジェクトを作成した場合は、プロジェクト内の文書またはブックを Visual Studio 内部で開いて編集できます。 詳細については、「Visual Studio 環境における Office プロジェクト」を参照してください。

.NET Framework のバージョンを選択する

要件に最適なプロジェクトの種類を選択した後に、開発工程で使用する .NET Framework のバージョンを選択できます。 Office プロジェクトでは、次のバージョンの .NET Framework を対象にすることができます。

  • .NET Framework 4

  • .NET Framework 4 Client Profile

  • .NET Framework 4.5

    ソリューションを実行するエンド ユーザーのコンピューターには、プロジェクト用に選択された .NET Framework のバージョンが必要です。 たとえば、プロジェクトが .NET Framework 4 を対象としている場合、エンド ユーザーのコンピューターには .NET Framework 4 が必要です。 この例で、エンド ユーザーのコンピューターに .NET Framework 3.5 しかインストールされていない場合、ソリューションは実行されません。

    .NET Framework 3.5 を対象とする VSTO アドイン プロジェクトを移行する場合、インストールした Office のバージョンに応じて、Visual Studio によってプロジェクトのターゲット フレームワークが .NET Framework 4 以降に変更されます。

    ただし、プロジェクトで特定の機能を使用している場合は、Visual Studio によるターゲット フレームワークの変更後に、プロジェクトのコードの一部を変更することが必要になる場合があります。 対象のフレームワークを変更する方法については、「方法: .NET Framework のターゲット バージョンを指定する」を参照してください。 プロジェクトで必要になる可能性がある変更の詳細については、「Office ソリューションを .NET Framework 4 以降に移行する」を参照してください。

    Visual Studio によってプロジェクトの対象となる .NET Framework が変更されている場合に、ClickOnce を使用してソリューションを配置する場合は、[必須コンポーネント] ダイアログ ボックスで、対応するバージョンの .NET Framework も選択してください。 プロジェクトのターゲット フレームワークを変更しても、この選択内容は自動的には変わりません。 詳細については、「方法: Office ソリューションを実行するための必須コンポーネントをエンド ユーザーのコンピューターにインストールする」を参照してください。

Note

.NET Framework 3.5 以前を Visual Studio 2013 を使用して作成した Office プロジェクトの対象にすることはできません。 Visual Studio 2013 を使用して作成した Office プロジェクトには、.NET Framework 4 クライアント プロファイルで最初に導入された機能が必要です。

エンド ユーザーのコンピューターで Office PIA が必要な場合を理解する

既定では、プロジェクトの各 Office PIA 参照の [相互運用型の埋め込み] プロパティが [True] (これが既定値です) に設定されているときは、エンド ユーザーのコンピューターに Office プライマリ相互運用機能アセンブリ (PIA: Primary Interop Assembly) がインストールされている必要はありません。 この場合、プロジェクトをビルドすると、ソリューションが使用する PIA 型の型情報がソリューション アセンブリに埋め込まれます。 実行時には、PIA の代わりに埋め込み型情報が使用され、Office アプリlication の COM ベースのオブジェクト モデルが呼び出されます。 PIA の型をソリューションに埋め込む方法の詳細については、「型の等価性と埋め込まれた相互運用機能型」を参照してください。

プロジェクトの各 Office PIA 参照の [相互運用型の埋め込み] プロパティが [False] に設定されている場合、ソリューションを実行する各エンド ユーザーのコンピューター上のグローバル アセンブリ キャッシュに Office PIA をインストールし、登録しておく必要があります。 ほとんどの場合、PIA は既定で Office と共にインストールされますが、ソリューションの必須コンポーネントとして再頒布可能な PIA を含めることもできます。 詳細については、「Office ソリューションを配置するための必須コンポーネント」を参照してください。

クライアント プロファイルについて理解する

.NET Framework Client Profile は、完全な .NET Framework のサブセットです。 .NET Framework のクライアント機能のみを使用し、Office ソリューションをできる限り迅速に配置する必要がある場合は、.NET Framework Client Profile を対象にすることができます。 詳細については、「.NET Framework Client Profile」を参照してください。

.NET Framework 4 を対象とする Office プロジェクトを作成すると、.NET Framework 4 クライアント プロファイルが既定で対象になります。 完全な .NET Framework 4 用に開発する場合は、プロジェクトを作成した後でこのオプションを設定する必要があります。 詳細については、.NET Framework のターゲット バージョンを指定する」を参照してください。

Microsoft Office の 64 ビット エディション用のソリューションを作成する

Microsoft Office には、64 ビットと 32 ビットのエディションがあります。 両方のエディションで実行できる Office ソリューションを作成するには、プロジェクトのプラットフォーム ターゲット設定を [任意の CPU] に設定する必要があります。 これは、Office プロジェクトの既定値です。 詳細については、「Office ソリューションのビルド」を参照してください。

Visual Studio Tools for Office ランタイムには、64 ビットと 32 ビットの別個のバージョンがあり、それぞれ Microsoft Office の 64 ビットおよび 32 ビットのエディションによって使用されます。 詳細については、「Visual Studio Tools for Office ランタイムの概要」を参照してください。

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

Visual Studio の Office 開発ツールを使用して Office プロジェクトを作成した場合、記述したコードは最終的にアセンブリにコンパイルされます。 このアセンブリは、共有サーバーまたはクライアント コンピューター上のディレクトリに配置されます。

Office ソリューションのアセンブリは Office アプリケーションによって読み込まれます。 アセンブリが読み込まれると、アセンブリ内のコードがアプリケーションで発生するイベント (ユーザーがメニュー項目をクリックした場合など) に応答できます。 アセンブリ内のコードでは、オブジェクト モデルを呼び出してアプリケーションの自動化や拡張を行うこともでき、さらに .NET Framework のクラスも使用できます。 詳細については、「ドキュメント レベルのカスタマイズのアーキテクチャ」と「VSTO アドインのアーキテクチャ」を参照してください。

Office ソリューションでは、配置マニフェストとアプリケーション マニフェストを使用してアセンブリを特定します。 これらのマニフェストには、アセンブリの名前、バージョン、および場所に関する情報が含まれているので、アプリケーションでは正しいアセンブリの検索、リンク、および実行ができます。 詳細については、「Office ソリューションでのアプリケーション マニフェストと配置マニフェスト」を参照してください。

ドキュメント レベルのプロジェクトには、アセンブリに加え、ドキュメントも含まれています。 ドキュメントは、アプリケーションのフロント エンドとして機能し、ユーザーはすべての操作をドキュメント上で行います。 各ドキュメントは、メイン プロジェクト アセンブリを 1 つしか関連付けることができませんが、複数のドキュメントが同じアセンブリをポイントすることは可能です。

ドキュメント レベルのプロジェクトのアセンブリは、ドキュメントに埋め込まれるわけではなく、別の場所に格納されていて、ドキュメントのアプリケーション マニフェストによって識別されます。

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

Office ソリューションをコンピューターで実行する場合、ソリューションに使用されるアセンブリは信頼して実行できる必要があります。 セキュリティの詳細については、「Office ソリューションをセキュリティで保護する」を参照してください。

既定では、プロジェクトの出力フォルダーにあるソリューション アセンブリおよび参照アセンブリは、プロジェクトをビルドするときに開発用コンピューターで信頼して実行できます。 詳細については、「Office ソリューションのビルド」を参照してください。

セキュリティ上の理由により、プロジェクトは、共有の場所に配置するのではなく、ローカル コンピューター上に作成することをお勧めします。 詳細については、「Office ソリューションの共同開発」を参照してください。

参照アセンブリ

アセンブリは、プロジェクトの参照にリストされている他のアセンブリを参照できます。 ただし、ドキュメント レベルのプロジェクト アセンブリが別のドキュメント レベルのプロジェクト アセンブリを参照することはできません。