Compartir a través de


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

Conceptos

Trabajar con hojas de cálculo

Acceso global a objetos en los proyectos de Office