Excel ソリューション

Visual Studio には、Microsoft Office Excel のドキュメント レベルのカスタマイズおよび VSTO アドインの作成に使用できるプロジェクト テンプレートが用意されています。 これらのソリューションを使用して、Excel の自動化、Excel の機能拡張、Excel のユーザー インターフェイス (UI) のカスタマイズを行うことができます。 ドキュメント レベルのカスタマイズと VSTO アドインの違いの詳細については、「Office ソリューションの開発の概要 (VSTO)」を参照してください。

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

Note

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

このトピックでは次の情報について説明します。

Excel の自動化

Excel オブジェクト モデルでは、Excel の自動化に使用できる型が多数公開されています。 たとえば、グラフの作成、ワークシートの書式設定、範囲やセルの値の設定をプログラムを使用して実行できます。 詳細については、「Excel オブジェクト モデルの概要」を参照してください。

Visual Studio で Excel ソリューションを開発する場合、ソリューションで ホスト項目ホスト コントロール も使用できます。 これらのオブジェクトは、Excel オブジェクト モデル内にある、 WorksheetRange オブジェクトなど、よく使用される特定のオブジェクトを拡張したオブジェクトです。 これらの拡張オブジェクトは、基になる Excel オブジェクトと同じように動作しますが、基のオブジェクトにはないイベントとデータ バインディング機能が追加されています。 詳細については、「拡張オブジェクトを使用して Excel を自動化する」を参照してください。

Excel のドキュメント レベルのカスタマイズを開発する

Microsoft Office Excel のドキュメント レベルのカスタマイズは、特定のブックに関連付けられたアセンブリで構成されます。 このアセンブリは、一般には UI のカスタマイズと Excel の自動化によってブックの機能を拡張します。 Excel 自体と関連付けられる VSTO アドインとは異なり、カスタマイズに実装した機能は、関連付けられたブックが Excel で開かれている場合にのみ利用できます。

Excel 用のドキュメント レベルのカスタマイズ プロジェクトを作成するには、Visual Studio の [新しいプロジェクト] ダイアログ ボックスで Excel ブックまたは Excel テンプレートのプロジェクト テンプレートを使用します。 詳細については、「方法: Visual Studio で Office プロジェクトを作成する」を参照してください。

ドキュメント レベルのカスタマイズが機能するしくみの詳細については、「ドキュメント レベルのカスタマイズのアーキテクチャ」を参照してください。

Excel カスタマイズのプログラミング モデル

Excel 用のドキュメント レベルのプロジェクトを作成すると、ソリューションの基礎となるクラス ( ThisWorkbookSheet1Sheet2、および Sheet3) が Visual Studio によって生成されます。 これらのクラスはソリューションに関連付けられたブックおよびワークシートを表し、コードを記述するための開始点となります。

これらの生成クラスおよびドキュメント レベルのプロジェクトで使用できるその他の機能の詳細については、「プログラムのドキュメントレベルのカスタマイズ」を参照してください。

Excel 用 VSTO アドインを開発する

Microsoft Office Excel の VSTO アドインは、Excel によって読み込まれるアセンブリで構成されます。 このアセンブリは、一般には UI のカスタマイズと Excel の自動化によって Excel の機能を拡張します。 特定のブックに関連付けられるドキュメント レベルのカスタマイズとは異なり、VSTO アドインに実装する機能の対象は 1 つのブックだけに制限されません。

Excel 用の VSTO アドイン プロジェクトを作成するには、Visual Studio の [新しいプロジェクト] ダイアログ ボックスで Excel ブックまたは Excel テンプレートのプロジェクト テンプレートを使用します。 詳細については、「方法: Visual Studio で Office プロジェクトを作成する」を参照してください。

VSTO アドインが機能するしくみの概要については、「 Architecture of VSTO Add-ins」を参照してください。

Excel アドインのプログラミング モデル

Excel VSTO アドイン プロジェクトを作成すると、 ThisAddInと呼ばれる、ソリューションの基礎となるクラスが Visual Studio によって生成されます。 このクラスは、コードを記述するための開始点となり、Excel のオブジェクト モデルを VSTO アドインに公開します。

ThisAddIn クラス、および VSTO アドインで使用できるその他の Visual Studio の機能の詳細については、「VSTO アドインのプログラミング」をご覧ください。

Excel のユーザー インターフェイスをカスタマイズする

Excel のユーザー インターフェイスをカスタマイズする方法はいくつかあります。 一部のオプションはすべてのプロジェクト タイプで使用できますが、VSTO アドインまたはドキュメント レベルのカスタマイズでのみ使用できるオプションもあります。

すべてのプロジェクト タイプのオプション

ドキュメント レベルのカスタマイズと VSTO アドインの両方に使用できるカスタマイズ オプションを次の表に示します。

タスク 詳細情報
リボンをカスタマイズする。 リボンの概要
Windows フォーム コントロールまたは拡張された Excel コントロールを、ドキュメント レベルのカスタマイズ用のカスタマイズされたブック内のワークシート、または VSTO アドイン用の任意の開いているブック内のワークシートに追加する。 方法: Office ドキュメントに Windows フォーム コントロールを追加する

方法: ワークシートに Chart コントロールを追加する

方法: ワークシートに ListObject コントロールを追加する

方法: ワークシートに NamedRange コントロールを追加する

文書レベルのカスタマイズのオプション

ドキュメント レベルのカスタマイズにのみ使用できるカスタマイズ オプションを次の表に示します。

タスク 詳細情報
ブックに操作ウィンドウを追加する。 操作ウィンドウの概要

方法: Word 文書または Excel ブックに操作ウィンドウを追加する
XML ノードにマップする拡張範囲コントロールをワークシートに追加する。 方法: ワークシートに XmlMappedRange コントロールを追加する

VSTO アドインのオプション

VSTO アドインにのみ使用できるカスタマイズ オプションを次の表に示します。

タスク 詳細情報
カスタム作業ウィンドウを作成する。 カスタム作業ウィンドウ
Title 説明
Excel オブジェクト モデルの概要 Excel オブジェクト モデルによって提供される主な型の概要について説明します。
拡張オブジェクトを使用して Excel を自動化する Excel ソリューションで使用できる拡張オブジェクト (Visual Studio Tools for Office ランタイムによって提供) に関する情報を提供します。
Excel ソリューションのグローバリゼーションとローカリゼーション Windows が英語以外の言語に設定されているコンピューター上で実行される Excel ソリューションに関する特記事項について説明します。
Office ドキュメントでの Windows フォーム コントロールの概要 Windows フォーム コントロールを Excel ワークシートに追加する方法について説明します。
チュートリアル: Excel のドキュメント レベルのカスタマイズを初めて作成する Excel 用の基本的なドキュメント レベルのカスタマイズを作成する方法を示します。
チュートリアル: 初めての Excel 用 VSTO アドインを作成する Excel 用の基本的な VSTO アドインを作成する方法を示します。
チュートリアル: VSTO アドイン プロジェクトの実行時にワークシートにコントロールを追加する VSTO アドインを使用して、実行時に Windows フォームのボタン、 NamedRange、および ListObject をワークシートに追加する方法を示します。
共同作成とアドインの理解 共同作成に対応するためにソリューションに対して行う必要がある調整について説明します。
Office 開発における Excel 2010 Excel ソリューションの開発に関する記事およびリファレンス ドキュメントへのリンクを提供します。 Visual Studio を使用した Office 開発だけの情報ではありません。