Procedura: elencare tutti i fogli di lavoro in una cartella di lavoro

La classe Microsoft.Office.Interop.Excel.Workbook fornisce un oggetto Microsoft.Office.Interop.Excel.Worksheets. Questo oggetto contiene un insieme di tutti gli oggetti Microsoft.Office.Interop.Excel.Worksheet presenti nella cartella di lavoro.

Si applica a: le informazioni fornite in questo argomento sono valide per i progetti a livello di documento e di applicazione per Excel 2007 ed Excel 2010. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.

Per elencare tutti i fogli di lavoro presenti in una cartella di lavoro in una personalizzazione a livello di documento

  • Scorrere l'insieme Worksheets e inviare il nome di ciascun foglio a un offset di cella determinato da un controllo 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++;
        }
    }
    

Per elencare tutti i fogli di lavoro presenti in una cartella di lavoro in un componente aggiuntivo a livello di applicazione

  • Scorrere l'insieme Worksheets e inviare il nome di ciascun foglio a un offset di cella determinato da un oggetto 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++;
        }
    }
    

Vedere anche

Attività

Procedura: aggiungere nuovi fogli di lavoro alle cartelle di lavoro

Procedura: spostare fogli di lavoro all'interno di cartelle di lavoro

Concetti

Utilizzo dei fogli di lavoro

Accesso globale a oggetti nei progetti di Office