バージョン

セルとセル領域に名前でアクセス

トピックの概要

目的

このトピックでは、コード例を示し、Microsoft® Excel® ワークブックのワークシート内のセルと領域に名前または名前付き参照でアクセスする方法を説明します。参照文字列でセルと領域にアクセスする方法の詳細は、 参照文字列でセルおよび領域にアクセスを参照してください。

セルと領域に名前でアクセス - 概念的概要

概要

Microsoft Excel で、個々のセルだけでなく、セル領域は、それらに割り当てられた名前を付けることができます (名前が割り当てられて表計算の [名前 ボックス]に表示されます)。セルまたは領域の名前を使用して、セル参照の代わりにそのセルまたは領域を参照できます。セルおよび領域の名前は、Excel で、またはプログラムによってコードで定義できます。

Infragistics は、 Worksheet オブジェクトの GetCell メソッドと GetRegion メソッドによって、名前でのセルおよび領域の参照をサポートします。そのセルまたは領域を参照する NamedReference インスタンスを使用してセルまたは領域を参照します。

要件

個々のセルまたはセルの領域にアクセスするために、MS Excel で、またはプログラムによってコードで名前を指定する必要があります。

Excel でセルと領域の名前を指定

Excel 表計算でセルまたは領域の名前を定義するには、セルまたは領域を選択し、 [名前 ボックス]をクリックして、希望の名前を入力し、Enter を押します。

コードでセルと領域の名前を指定

コードで定義されたセルまたは領域の名前は、「名前付き参照」と呼ばれる場合があります。

コードでセルと領域の名前を指定するには、以下の構文を使用します。実際のコードでは、変数 (cell_Name, range_Name, sheet_name, cell_reference, range_cell_reference, instance_for_cell_NamedReference, および instance_for_range_NamedReference) を特定の名前で置き換えます。

Visual Basic の場合:

' Define a Name for a cell.
Dim instance_for_cell_NamedReference As NamedReference = wrkBook.NamedReferences.Add("cell_Name", "=sheet_name!cell reference ", sheet_name)
' Define a Name for a region.
Dim instance_for_range_NamedReference As NamedReference = wrkBook.NamedReferences.Add("range_Name ", "= sheet_name!range cell reference ", sheet_name )

C# の場合:

// Define a Name for a cell.
NamedReference instance_for_cell_NamedReference = wrkBook.NamedReferences.Add("cell_Name", "=sheet_name!cell reference", sheet_name);
// Define a Name for a region.
NamedReference instance_for_range_NamedReference = wrkBook.NamedReferences.Add("range_Name", "=sheet_name!range cell reference", sheet_name);

セルと領域を名前で参照

コードでてセルと領域を名前で参照するには、以下の構文を使用します。実際のコードでは、変数 (cell_Name, range_Name) を特定の名前で置き換えます。

Visual Basic の場合:

' Access a cell by its name.
sampleSheet.GetCell("cell_Name")
' Access a region by its name
sampleSheet.GetRegion("range_Name")

C# の場合:

// Access a cell by its Name.
sampleSheet.GetCell("cell_Name");
// Access a region by its Name.
sampleSheet.GetRegion("range_Name");

セルと領域に名前でアクセス - コード例

概要

以下の表には、このトピックのコード例が示されています。

説明

Sheet1 のセル B5 およびセル領域 G1 ÷ G10 の名前をコードで設定します。

refNameB3 の名前を持つセルおよび refNameRegionC1C10 の名前を持つセル領域にアクセスする方法を紹介します。

名前付きのセルおよび領域を参照してメッセージ ボックスでコンテンツを文字列として表示する方法を紹介します。

C:\ の Book1.xls ワークブックの最初のワークシートで名前によってセルおよび領域にアクセスし、セルにコメントを追加し、領域に数式を適用して、ワークブックを保存する方法を紹介します。

セルおよび領域の NamedReference を定義し、 NamedReference インスタンスからアクセスする方法を紹介します。

コードでセルと領域の名前を指定

説明

以下のコードでは、 Sheet1 のセル B5 およびセル領域 G1 ÷ G10 の名前をコードで設定します。

コード

Visual Basic の場合:

' Define a Name for the cell.
Dim nameRefCell As NamedReference = wrkBook.NamedReferences.Add("NamedRefCell", "=Sheet1!$B$5", sampleSheet)
' Define a Name for the region.
Dim namerefRegion As NamedReference = wrkBook.NamedReferences.Add("NamedRefRegion", "=Sheet1!$G$1:$G$10", sampleSheet)

C# の場合:

// Define a Name for the cell.
NamedReference nameRefCell = wrkBook.NamedReferences.Add("NamedRefCell", "=Sheet1!$B$5", sampleSheet);
// Define a Name for the region.
NamedReference namerefRegion = wrkBook.NamedReferences.Add("NamedRefRegion", "=Sheet1!$G$1:$G$10", sampleSheet);

セルと領域を名前で参照 - 例 1

説明

以下のコードは、 refNameB3 の名前を持つセルおよび refNameRegionC1C10 の名前を持つセル領域にアクセスする方法を紹介します。

コード

Visual Basic の場合:

' Access a cell by its Name.
sampleSheet.GetCell("refNameB3").Comment = testComment
' Access a region by its Name.
sampleSheet.GetRegion("refNameRegionC1C10").ApplyFormula("=A1*B1")

C# の場合:

// Access a cell by its Name.
sampleSheet.GetCell("refNameB3").Comment = testComment;
// Access a region by its Name.
sampleSheet.GetRegion("refNameRegionC1C10").ApplyFormula("=A1*B1");

セルと領域を名前で参照 - 例 2

説明

以下のコードは、名前付きのセルおよび領域を参照してメッセージ ボックスでコンテンツを文字列として表示する方法を紹介します。

コード

Visual Basic の場合:

MessageBox.Show(nameRefCell.ReferencedCell.Value.ToString())
MessageBox.Show(namerefRegion.ReferencedRegion.Worksheet.ToString())

C# の場合:

MessageBox.Show(nameRefCell.ReferencedCell.Value.ToString());
MessageBox.Show(namerefRegion.ReferencedRegion.Worksheet.ToString());

セルと領域を名前で参照 - 例 3

説明

以下の例は、C:\ の Book1.xls ワークブックの最初のワークシートの B3 セルおよび C1:C10 領域を名前によってアクセスする方法を紹介します。セルは refNameB3 を名前付きで、領域は refNameRegionC1C10 を名前付きます。

例のコードはワークブックを読み込んでワークシートのインスタンスを作成します。ワークシートのセル B3 は、セルの名前付き参照を渡すことによって、 GetCell メソッドを使用してアクセスされます。コメントがセル B3 に追加されます。

同様に、領域 C1:C10 は、領域の名前付き参照を渡すことによって、 GetRegion メソッドを使用してアクセスされます。数式が領域 C1:C10 に適用されます。

前提条件

この例は以下の前提条件があります。

  • C:\ で Book1.xls Excel ファイルがあります

  • ワークシートの範囲 A1:A10 と B1:B10 内のランダムな数字があります

  • Excel でセルと領域の名前を指定トピックで説明したとおり、セル B3 および領域 C1:C10 の名前を設定します

コード

Visual Basic の場合:

' Load the workbook.
Dim wrkBook As Infragistics.Documents.Excel.Workbook = Infragistics.Documents.Excel.Workbook.Load("C:\\Book1.xls")
Dim sampleSheet As Infragistics.Documents.Excel.Worksheet = wrkBook.Worksheets(0)
Dim testComment As Infragistics.Documents.Excel.WorksheetCellComment = New WorksheetCellComment
Dim formatted As FormattedString = New FormattedString("This cell has a reference name.")
testComment.Text = formatted
' Access the cell by its Name.
sampleSheet.GetCell("refNameB3").Comment = testComment
' Access the region by its Name.
sampleSheet.GetRegion("refNameRegionC1C10").ApplyFormula("=A1*B1")
' Save the workbook.
wrkBook.Save("C:\\Book1.xls")

C# の場合:

// Load the workbook.
Infragistics.Documents.Excel.Workbook wrkBook = Infragistics.Documents.Excel.Workbook.Load("C:\\Book1.xls");
Infragistics.Documents.Excel.Worksheet sampleSheet = wrkBook.Worksheets[0];
Infragistics.Documents.Excel.WorksheetCellComment testComment = new WorksheetCellComment();
FormattedString formatted = new FormattedString ("This cell has a reference name.");
testComment.Text = formatted;
// Access the cell by its Name.
sampleSheet.GetCell("refNameB3").Comment = testComment;
// Access the region by its Name.
sampleSheet.GetRegion("refNameRegionC1C10").ApplyFormula("=A1*B1");
// Save the workbook.
wrkBook.Save("C:\\Book1.xls");

セルと領域の名前を設定して参照する

説明

以下のコードは、セルおよび領域の NamedReference を定義し、 NamedReference インスタンスからアクセスする方法を紹介します。

前提条件

この例は以下の前提条件があります。

  • C:\ で Book1.xls Excel ファイルがあります

ワークシートの範囲 A1:A10B1:B10 内のランダムな数字があります

コード

Visual Basic の場合:

' Load the workbook.
Dim wrkBook As Infragistics.Documents.Excel.Workbook = Infragistics.Documents.Excel.Workbook.Load("C:\\Book1.xls")
Dim sampleSheet As Infragistics.Documents.Excel.Worksheet = wrkBook.Worksheets(0)
'Define a Name for the cell.
Dim nameRefCell As NamedReference = wrkBook.NamedReferences.Add("NamedRefCell", "=Sheet1!$B$5", sampleSheet)
MessageBox.Show(nameRefCell.ReferencedCell.Value.ToString())
' Define a Name for the region.
Dim namerefRegion As NamedReference = wrkBook.NamedReferences.Add("NamedRefRegion", "=Sheet1!$G$1:$G$10", sampleSheet)
MessageBox.Show(namerefRegion.ReferencedRegion.Worksheet.ToString())

C# の場合:

// Load the workbook.
Infragistics.Documents.Excel.Workbook wrkBook = Infragistics.Documents.Excel.Workbook.Load("C:\\Book1.xls");
Infragistics.Documents.Excel.Worksheet sampleSheet = wrkBook.Worksheets[0];
// Define a Name for the cell.
NamedReference nameRefCell = wrkBook.NamedReferences.Add("NamedRefCell", "=Sheet1!$B$5", sampleSheet);
MessageBox.Show(nameRefCell.ReferencedCell.Value.ToString());
// Define a Name for the region.
NamedReference namerefRegion = wrkBook.NamedReferences.Add("NamedRefRegion", "=Sheet1!$G$1:$G$10", sampleSheet);
MessageBox.Show(namerefRegion.ReferencedRegion.Worksheet.ToString());

関連内容

トピック

以下のトピックでは、このトピックに関連する情報を提供しています。

トピック 目的

このトピックは、Excel ファイルの保存と読み込みを紹介します。

このトピックは、Excel® ワークブックのワークシートのセルおよび領域を参照文字列によってアクセスする方法を紹介します。