Condividi tramite


Aggiungere controlli ListObject ai fogli di lavoro

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

Si applica a: le informazioni contenute in questo argomento si applicano ai progetti a livello di documento e ai progetti di componente aggiuntivo VSTO per Excel. Per altre informazioni, vedere Funzionalità disponibili per app Office lication e tipo di progetto.

È anche possibile aggiungere controlli ListObject in fase di esecuzione nei progetti di componente aggiuntivo VSTO.

Questo argomento descrive le attività seguenti:

Aggiungere controlli ListObject in fase di progettazione

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

Nota

I nomi o i percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti potrebbero essere diversi nel computer in uso. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per altre informazioni, vedere Personalizzare l'IDE.

Per usare la barra multifunzione in Excel

  1. Nel gruppo Tabelle della scheda Inserisci fare clic su Tabella.

  2. Selezionare una o più celle da includere nell'elenco e fare clic su OK.

Per usare la casella degli strumenti

  1. Dalla scheda Controlli Excel della casella degli strumentitrascinare ListObject nel foglio di lavoro.

    Viene visualizzata la finestra di dialogo Aggiungi controllo ListObject .

  2. Selezionare una o più celle da includere nell'elenco e fare clic su OK.

    Per modificare il nome predefinito, usare la finestra Proprietà .

Per usare la finestra Origini dati

  1. Aprire la finestra Origini dati e creare un'origine dati per il progetto. Per altre informazioni, vedere Aggiungere nuove connessioni.

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

    Un controllo con associazione ai dati ListObject viene aggiunto al foglio di lavoro. Per altre informazioni, vedere Data binding e Windows Form.

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

È possibile aggiungere il controllo ListObject in modo dinamico in fase di esecuzione e creare in questo modo i controlli host in risposta a eventi. Gli oggetti elenco creati dinamicamente non vengono salvati in modo permanente nel foglio di lavoro come controlli host quando il foglio di lavoro è chiuso. Per altre informazioni, vedere Aggiungere controlli ai documenti di Office in fase di esecuzione.

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

  1. Nel gestore eventi Startup di Sheet1inserire il codice seguente per aggiungere un controllo ListObject alle celle da A1 ad A4.

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

Aggiungere controlli ListObject in fase di esecuzione in un progetto di componente aggiuntivo VSTO

È possibile aggiungere un controllo ListObject a livello di codice a qualsiasi foglio di lavoro aperto in un progetto di componente aggiuntivo VSTO. Gli oggetti elenco creati dinamicamente non vengono salvati in modo permanente nel foglio di lavoro come controlli host quando il foglio di lavoro viene salvato e chiuso. Per altre informazioni, vedere Estendere documenti di Word e cartelle di lavoro di Excel nei componenti aggiuntivi VSTO in fase di esecuzione.

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

  1. Il codice seguente genera un elemento host del foglio di lavoro basato sul foglio di lavoro aperto, quindi aggiunge un controllo ListObject alle celle da A1 ad A4.

    private void AddListObject()
    {
        Worksheet worksheet = Globals.Factory.GetVstoObject(
            Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets[1]);
    
        Microsoft.Office.Tools.Excel.ListObject list1;
        Excel.Range cell = worksheet.Range["$A$1:$D$4"];
        list1 = worksheet.Controls.AddListObject(cell, "list1");
    }