Freigeben über


Gewusst wie: Auflisten aller Arbeitsblätter in einer Arbeitsmappe

Aktualisiert: November 2007

Betrifft

Die Informationen in diesem Thema gelten nur für die angegebenen Visual Studio Tools for Office-Projekte und Versionen von Microsoft Office.

Projekttyp

  • Projekte auf Dokumentebene

  • Projekte auf Anwendungsebene

Microsoft Office-Version

  • Excel 2003

  • Excel 2007

Weitere Informationen finden Sie unter Verfügbare Features nach Anwendung und Projekttyp.

Die Microsoft.Office.Interop.Excel.Workbook-Klasse stellt ein Microsoft.Office.Interop.Excel.Worksheets-Objekt bereit. Dieses Objekt enthält eine Auflistung aller Microsoft.Office.Interop.Excel.Worksheet-Objekte in der Arbeitsmappe.

So listen Sie alle vorhandenen Arbeitsblätter einer Arbeitsmappe in einer Anpassung auf Dokumentenebene auf.

  • Durchlaufen Sie die Worksheets-Auflistung, und senden Sie mit einem NamedRange-Steuerelement den Namen jedes Blattes an ein Zellenoffset.

    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++;
        }
    }
    

So listen Sie alle vorhandenen Arbeitsblätter einer Arbeitsmappe in einem Add-In auf Anwendungsebene auf.

  • Durchlaufen Sie die Worksheets-Auflistung und senden Sie mit einem Microsoft.Office.Interop.Excel.Range-Objekt den Namen jedes Blatts an ein Zellenoffset.

    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++;
        }
    }
    

Siehe auch

Aufgaben

Gewusst wie: Hinzufügen neuer Arbeitsblätter zu Arbeitsmappen

Gewusst wie: Verschieben von Arbeitsblättern in Arbeitsmappen

Konzepte

Arbeiten mit Arbeitsblättern

Globaler Zugriff auf eigene Objekte in Visual Studio Tools for Office-Projekte