方法 : ブック内のすべてのワークシートを一覧表示する
更新 : 2007 年 11 月
対象 |
---|
このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。 プロジェクトの種類
Microsoft Office のバージョン
詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。 |
Microsoft.Office.Interop.Excel.Workbook クラスには、Microsoft.Office.Interop.Excel.Worksheets オブジェクトが用意されています。このオブジェクトには、ブック内のすべての Microsoft.Office.Interop.Excel.Worksheet オブジェクトのコレクションが含まれます。
ドキュメント レベルのカスタマイズで、ブック内の既存のワークシートを一覧表示するには
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", missing], "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", missing); foreach (Excel.Worksheet displayWorksheet in this.Application.Worksheets) { rng.get_Offset(index, 0).Value2 = displayWorksheet.Name; index++; } }