Cómo: Mostrar todas las hojas de cálculo de un libro mediante programación
La clase Microsoft.Office.Interop.Excel.Workbook proporciona un objeto Microsoft.Office.Interop.Excel.Worksheets.Este objeto contiene una colección de todos los objetos Microsoft.Office.Interop.Excel.Worksheet del libro.
Se aplica a: La información de este tema se aplica a los proyectos de nivel de documento y los proyectos de nivel de aplicación para Excel 2013 y Excel 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.
Para hacer una lista de todas las hojas de cálculo existentes en un libro en una personalización en el nivel del documento
Recorra en iteración la colección Worksheets y envíe el nombre de cada una de las hojas a un desplazamiento de celda desde un control 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++; } }
Para hacer una lista de todas las hojas de cálculo existentes en un libro en un complemento en el nivel de la aplicación
Recorra en iteración la colección Worksheets y envíe el nombre de cada una de las hojas a un desplazamiento de celda desde un objeto 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++; } }
Vea también
Tareas
Cómo: Agregar nuevas hojas de cálculo a libros mediante programación
Cómo: Mover hojas de cálculo dentro de libros mediante programación