Udostępnij za pośrednictwem


Porady: Programowane wyświetlanie listy wszystkich arkuszy w skoroszycie

Klasa Workbook zawiera obiekt Worksheets.Ten obiekt zawiera zbiór wszystkich obiektów Worksheet w skoroszycie.

Zastosowanie: Informacje przedstawione w tym temacie mają zastosowanie do projektów na poziomie dokumentu i aplikacji obsługiwanych w programach Excel 2013 i Excel 2010. Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacjach pakietu Office i typ projektu.

Aby wyświetlić listę wszystkich istniejących arkuszy w skoroszycie w dostosowaniu na poziomie dokumentu

  • Iteracyjnie przeglądaj kolekcję Worksheets i wyślij nazwę każdego arkusza do komórki odsuniętej od formantu 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++;
        }
    }
    

Aby wyświetlić listę wszystkich istniejących arkuszy w skoroszycie w dodatku na poziomie aplikacji

  • Iteracyjne przeglądaj kolekcję Worksheets i wyślij nazwę każdego arkusza do komórki odsuniętej od obiektu 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++;
        }
    }
    

Zobacz też

Zadania

Porady: Programowane dodawanie nowych arkuszy do skoroszytu

Porady: Programowane przenoszenie arkuszy w obrębie skoroszytu

Koncepcje

Praca z arkuszami

Globalny dostęp do obiektów w projektach pakietu Office