Workbook クラスには、Worksheets オブジェクトが用意されています。 このオブジェクトには、ブック内のすべての Worksheet オブジェクトのコレクションが含まれます。
適用対象: このトピックの情報は、Excel のドキュメント レベルのプロジェクトおよび VSTO アドインのプロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。
ドキュメント レベルのカスタマイズで、ブック内の既存のワークシートを一覧表示するには
Worksheets コレクションを反復処理し、各ワークシートの名前を、NamedRange コントロールからオフセットされるセルに送信します。
private void ListSheets()
{
int index = 0;
Microsoft.Office.Tools.Excel.NamedRange NamedRange1 =
Globals.Sheet1.Controls.AddNamedRange(
Globals.Sheet1.Range["A1"], "NamedRange1");
foreach (Excel.Worksheet displayWorksheet in Globals.ThisWorkbook.Worksheets)
{
NamedRange1.Offset[index, 0].Value2 = displayWorksheet.Name;
index++;
}
}
Private Sub ListSheets()
Dim index As Integer = 0
Dim NamedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _
Globals.Sheet1.Controls.AddNamedRange( _
Globals.Sheet1.Range("A1"), "NamedRange1")
For Each displayWorksheet As Excel.Worksheet In Globals.ThisWorkbook.Worksheets
NamedRange1.Offset(index, 0).Value2 = displayWorksheet.Name
index += 1
Next displayWorksheet
End Sub
VSTO アドインで、ブック内の既存のワークシートを一覧表示するには
Worksheets コレクションを反復処理し、各ワークシートの名前を、Range オブジェクトからオフセットされるセルに送信します。
private void ListSheets()
{
int index = 0;
Excel.Range rng = this.Application.get_Range("A1");
foreach (Excel.Worksheet displayWorksheet in this.Application.Worksheets)
{
rng.get_Offset(index, 0).Value2 = displayWorksheet.Name;
index++;
}
}
Private Sub ListSheets()
Dim index As Integer = 0
Dim rng As Excel.Range = Me.Application.Range("A1")
For Each displayWorksheet As Excel.Worksheet In Me.Application.Worksheets
rng.Offset(index, 0).Value2 = displayWorksheet.Name
index += 1
Next displayWorksheet
End Sub
関連するコンテンツ