Condividi tramite


Procedura: aggiungere controlli ListObject a fogli di lavoro

È possibile aggiungere controlli ListObject in un foglio di lavoro di Microsoft Office Excel in fase di progettazione e in progetti a livello di documento in fase di esecuzione.

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.

È inoltre possibile aggiungere controlli ListObject nei progetti di componenti aggiuntivi a livello di applicazione.

In questo argomento vengono descritte le attività seguenti:

  • Aggiunta di controlli ListObject in fase di progettazione

  • Aggiunta di controlli ListObject in fase di esecuzione in un progetto a livello di documento

  • Aggiunta di controlli ListObject in fase di esecuzione in un progetto a livello di applicazione

Per ulteriori informazioni sui controlli ListObject, vedere Controllo ListObject.

Aggiunta di controlli ListObject in fase di progettazione

Esistono diversi modi per aggiungere in fase di progettazione controlli ListObject in un foglio di lavoro di un progetto a livello di documento: da Excel, dalla Casella degli strumenti di Visual Studio e dalla finestra Origini dati.

Nota

Nel computer in uso è possibile che vengano visualizzati nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per ulteriori informazioni vedere Impostazioni di Visual Studio.

Per utilizzare la barra multifunzione in Excel

  1. Nella scheda Inserisci, nel gruppo Tabelle fare clic su Tabella.

  2. Selezionare la cella o le celle da includere nell'elenco e scegliere OK.

Per utilizzare la Casella degli strumenti

  1. Dalla scheda Controlli Excel della Casella degli strumenti trascinare un controllo ListObject nel foglio di lavoro.

    Verrà visualizzata la finestra di dialogo Aggiungi controllo ListObject.

  2. Selezionare la cella o le celle da includere nell'elenco e scegliere OK.

    Se non si desidera assegnare il nome predefinito, è possibile modificare il nome nella finestra Proprietà.

Per utilizzare la finestra Origini dati

  1. Aprire la finestra Origini dati e creare un'origine dati per il progetto. Per ulteriori informazioni, vedere Procedura: connettersi ai dati di un database.

  2. Trascinare una tabella dalla finestra Origini dati al foglio di lavoro.

    Un controllo ListObject associato a dati viene aggiunto al foglio di lavoro. Per ulteriori informazioni, vedere Associazione dati e Windows Form.

Aggiunta di controlli ListObject in fase di esecuzione in un progetto a livello di documento

È possibile aggiungere dinamicamente il controllo ListObject in fase di esecuzione. In questo modo, è possibile creare i controlli host in risposta agli eventi. Gli oggetti elenco creati dinamicamente non sono mantenuti nel foglio di lavoro come controlli host quando il foglio di lavoro viene chiuso. Per ulteriori informazioni, vedere Aggiunta di controlli ai documenti di Office in fase di esecuzione.

Per aggiungere un controllo ListObject a un foglio di lavoro a livello di codice

  • Nel gestore eventi Startup di Sheet1, inserire il codice riportato di seguito per aggiungere un controllo ListObject alle celle comprese tra A1 e A4:

    Dim employeeData As Microsoft.Office.Tools.Excel.ListObject
    employeeData = Me.Controls.AddListObject(Me.Range("$A$1:$D$4"), "employees")
    
    Microsoft.Office.Tools.Excel.ListObject employeeData;
    employeeData = this.Controls.AddListObject(this.get_Range("$A$1:$D$4", missing), "employees");
    

Aggiunta di controlli ListObject in fase di esecuzione in un progetto a livello di applicazione

È possibile aggiungere a livello di codice un controllo ListObject a qualsiasi foglio di lavoro aperto di un progetto a livello di applicazione. Gli oggetti elenco creati dinamicamente non sono mantenuti nel foglio di lavoro come controlli host quando il foglio di lavoro viene salvato e quindi chiuso. Per ulteriori informazioni, vedere Estensione in fase di esecuzione di documenti di Word e di cartelle di lavoro di Excel in componenti aggiuntivi a livello di applicazione.

Per aggiungere un controllo ListObject a un foglio di lavoro a livello di codice

  • Nel codice seguente viene generato un elemento host foglio di lavoro basato sul foglio di lavoro aperto e quindi viene aggiunto un controllo ListObject nelle celle comprese fra A1 e A4.

    Private Sub AddListObject()
        Dim NativeWorksheet As Microsoft.Office.Interop.Excel.Worksheet =
            Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets(1)
    
        ' Use the following line of code in projects that target the .NET Framework 4.
        Dim worksheet As Microsoft.Office.Tools.Excel.Worksheet =
            Globals.Factory.GetVstoObject(NativeWorksheet)
    
        ' In projects that target the .NET Framework 3.5, use the following line of code.
        ' Dim worksheet = CType(Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets(1),  _
        '    Excel.Worksheet).GetVstoObject()
    
        Dim list1 As Microsoft.Office.Tools.Excel.ListObject
        Dim cell As Excel.Range = worksheet.Range("$A$1:$D$4")
        list1 = worksheet.Controls.AddListObject(cell, "MyListObject")
    End Sub
    
    private void AddListObject()
    {
        // Use the following line of code in projects that target the .NET Framework 4.
        Worksheet worksheet = Globals.Factory.GetVstoObject(
            Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets[1]);
    
        // In projects that target the .NET Framework 3.5, use the following line of code.
        // Worksheet worksheet = 
        //     ((Excel.Worksheet)Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets[1]).GetVstoObject();
    
        Microsoft.Office.Tools.Excel.ListObject list1;
        Excel.Range cell = worksheet.Range["$A$1:$D$4", missing];
        list1 = worksheet.Controls.AddListObject(cell, "list1");
    }
    

Vedere anche

Attività

Procedura: ridimensionare i controlli ListObject

Concetti

Estensione in fase di esecuzione di documenti di Word e di cartelle di lavoro di Excel in componenti aggiuntivi a livello di applicazione

Controllo ListObject

Automazione di Excel utilizzando oggetti estesi

Cenni preliminari sugli elementi e sui controlli host

Limitazioni a livello di codice degli elementi e dei controlli host

Altre risorse

Controlli nei documenti di Office

Associazione di dati ai controlli nelle soluzioni Office