Compartir a través de


Cómo: Mostrar todas las hojas de cálculo en un libro

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 2007 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", missing], "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", missing);
    
        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 los libros

Cómo: Mover hojas de cálculo dentro de los libros

Conceptos

Trabajar con hojas de cálculo

Acceso global a objetos en los proyectos de Office