Microsoft Office Excel を使用するソリューションを開発するには、Excel オブジェクト モデルによって提供されるオブジェクトを操作できます。 このトピックでは、最も重要なオブジェクトについて説明します。
複数のプラットフォームで Office エクスペリエンスを拡張するソリューションの開発に関心がありますか? 新しい Office アドイン モデルを 確認します。 Office アドインは VSTO アドインやソリューションと比較してフットプリントが小さく、HTML5、JavaScript、CSS3、XML などのほぼすべての Web プログラミング テクノロジを使用して構築できます。
 
オブジェクト モデルは、ユーザー インターフェイスに厳密に従います。 
              Application  オブジェクトはアプリケーション全体を表し、各Workbook  オブジェクトにはWorksheet オブジェクトのコレクションが含まれています。 そこから、セルを表す主要な抽象化は、個々のセルまたはセルのグループを操作できる Range  オブジェクトです。
Excel オブジェクト モデルに加えて、Visual Studio の Office プロジェクトには、Excel オブジェクト モデル内の一部のオブジェクトを拡張する ホスト項目  と ホスト コントロール  が用意されています。 ホスト項目とホスト コントロールは、拡張した Excel オブジェクトと同様に動作しますが、データ バインディング機能や追加のイベントなどの追加機能もあります。 詳細については、「 拡張オブジェクトを使用して Excel を自動化  する」および 「ホスト項目とホスト コントロールの概要 」を参照してください。
このトピックでは、Excel オブジェクト モデルの概要について説明します。 Excel オブジェクト モデル全体の詳細については、Excel オブジェクト モデルの ドキュメントを参照 してください。
Excel プロジェクト内のオブジェクトにアクセスする Excel 用の新しい VSTO アドイン プロジェクトを作成すると、Visual Studio によって ThisAddIn.vbまたはThisAddIn.cs  コード ファイル が自動的に  作成されます。 Application オブジェクトには、 Me.Application または this.Applicationを使用してアクセスできます。
Excel 用の新しいドキュメント レベルのプロジェクトを作成する場合は、新しい Excel ブックまたは Excel テンプレート プロジェクトを作成するオプションがあります。 Visual Studio では、ブックプロジェクトとテンプレート プロジェクトの両方に対して、新しい Excel プロジェクトに次のコード ファイルが自動的に作成されます。
 
		
			 
		テーブルを展開する 
	 
Visual Basic 
C# 
 
 
ThisWorkbook.vb 
ThisWorkbook.cs 
 
Sheet1.vb 
Sheet1.cs 
 
Sheet2.vb 
Sheet2.cs 
 
Sheet3.vb 
Sheet3.cs 
 
 
プロジェクトの Globals クラスを使用して、それぞれのクラスの外部から ThisWorkbook、 Sheet1、 Sheet2、または Sheet3 にアクセスできます。 詳細については、「 Office プロジェクトのオブジェクトへのグローバル アクセス 」を参照してください。 次の例では、コードが PrintPreview Sheet1 クラスまたは Sheet クラスのいずれに配置されているかに関係なく、ThisWorkbook メソッドを呼び出します。
Globals.Sheet1.PrintPreview();
 
Globals.Sheet1.PrintPreview()
 
 
Excel ドキュメント内のデータは高度に構造化されているため、オブジェクト モデルは階層構造で簡単です。 Excel には何百ものオブジェクトが用意されていますが、使用可能なオブジェクトの小さなサブセットに焦点を当てることで、オブジェクト モデルを適切に開始できます。 これらのオブジェクトには、次の 4 つがあります。
Excel Application  オブジェクトは、Excel アプリケーション自体を表します。 
              Application  オブジェクトは、実行中のアプリケーション、そのインスタンスに適用されるオプション、およびインスタンス内で開いている現在のユーザー オブジェクトに関する多くの情報を公開します。
Excel のEnableEvents  オブジェクトのApplication  プロパティを false  に設定しないでください。 このプロパティを false に設定すると、ホスト コントロールのイベントを含め、Excel がイベントを発生させるのを防ぐことができます。
 
              Workbook  オブジェクトは、Excel アプリケーション内の 1 つのブックを表します。
Visual Studio の Office 開発ツールは、Workbook の種類を指定してWorkbook  オブジェクトを拡張します。 この型を使用すると、 Workbook  オブジェクトのすべての機能にアクセスできます。 詳細については、ワークブックのホスト項目 を参照してください。
              Worksheet  オブジェクトは、Worksheets  コレクションのメンバーです。 
              Worksheet のプロパティ、メソッド、およびイベントの多くは、Application またはWorkbook  オブジェクトによって提供されるメンバーと同じか類似しています。
Excel は、Sheets  オブジェクトのプロパティとしてWorkbook  コレクションを提供します。 
              Sheets  コレクションの各メンバーは、Worksheet またはChart  オブジェクトです。
Visual Studio の Office 開発ツールは、Worksheet の種類を指定してWorksheet  オブジェクトを拡張します。 この型を使用すると、 Worksheet  オブジェクトのすべての機能と、マネージド コントロールをホストし、新しいイベントを処理する機能などの新機能にアクセスできます。 詳細については、「 ワークシートのホスト項目 」を参照してください。
              Range  オブジェクトは、Excel アプリケーション内で最も使用するオブジェクトです。 Excel 内の任意の領域を操作する前に、それを Range  オブジェクトとして表現し、その範囲のメソッドとプロパティを操作する必要があります。 
              Range  オブジェクトは、セル、行、列、1 つ以上のセル ブロックを含むセルの選択を表します。セルのブロックは連続している場合もあれば、連続していない場合もあれば、複数のシート上のセルのグループである場合もあります。
Visual Studio では、Range 型とNamedRange 型を指定することで、XmlMappedRange  オブジェクトを拡張します。 これらの型には、 Range  オブジェクトと同じ機能の大部分と、データ バインディング機能や新しいイベントなどの新機能があります。 詳細については、「 NamedRange コントロール  」および 「XmlMappedRange コントロール」を参照 してください。
 Excel オブジェクト モデルのドキュメントを使用する Excel オブジェクト モデルの詳細については、Excel プライマリ相互運用機能アセンブリ (PIA) リファレンスと VBA オブジェクト モデル リファレンスを参照してください。
Excel PIA リファレンス ドキュメントでは、Excel のプライマリ相互運用機能アセンブリの型について説明します。 このドキュメントは、 Excel 2010 プライマリ相互運用機能アセンブリ リファレンス から入手できます。
PIA のクラスとインターフェイスの違い、PIA のイベントの実装方法など、Excel PIA の設計の詳細については、「 Office プライマリ相互運用機能アセンブリのクラスとインターフェイスの概要 」を参照してください。
VBA オブジェクト モデル参照は、Visual Basic for Applications (VBA) コードに公開されている Excel オブジェクト モデルを文書化します。 詳細については、「 Excel 2010 オブジェクト モデル リファレンス」を参照してください 。
VBA オブジェクト モデル参照のすべてのオブジェクトとメンバーは、Excel PIA の型とメンバーに対応します。 たとえば、VBA オブジェクト モデル参照の Worksheet オブジェクトは、Excel PIA の Worksheet  オブジェクトに対応します。 VBA オブジェクト モデルリファレンスには、ほとんどのプロパティ、メソッド、およびイベントのコード例が用意されていますが、Visual Studio を使用して作成した Excel プロジェクトで VBA コードを使用する場合は、この参照の VBA コードを Visual Basic または Visual C# に変換する必要があります。
 
		
			 
		テーブルを展開する 
	 
Title 
Description 
 
 
              Excel ソリューション  
Microsoft Office Excel 用のドキュメント レベルのカスタマイズと VSTO アドインを作成する方法について説明します。 
 
              範囲を操作する  
範囲を使用して一般的なタスクを実行する方法を示す例を示します。 
 
              ワークシートを操作する  
ワークシートで一般的なタスクを実行する方法を示す例を示します。 
 
              ワークブックを操作する  
ブックで一般的なタスクを実行する方法を示す例を提供します。