方法: プログラムによってブック内のすべてのワークシートを一覧表示する
Microsoft.Office.Interop.Excel.Workbook クラスには、Microsoft.Office.Interop.Excel.Worksheets オブジェクトが用意されています。このオブジェクトには、ブック内のすべての Microsoft.Office.Interop.Excel.Worksheet オブジェクトのコレクションが含まれます。
対象: このトピックの情報は、Excel 2013 と Excel 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
ドキュメント レベルのカスタマイズで、ブック内の既存のワークシートを一覧表示するには
Worksheets コレクションを反復処理し、各ワークシートの名前を、NamedRange コントロールからオフセットされるセルに送信します。
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
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++; } }
アプリケーション レベルのアドインで、ブック内の既存のワークシートを一覧表示するには
Worksheets コレクションを反復処理し、各ワークシートの名前を、Microsoft.Office.Interop.Excel.Range オブジェクトからオフセットされるセルに送信します。
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
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++; } }
参照
処理手順
方法: プログラムを使用して新しいワークシートをブックに追加する