Cómo: Agregar controles ListObject a hojas de cálculo

Puede agregar controles ListObject en tiempo de diseño y en tiempo de ejecución a una hoja de cálculo de Microsoft Office Excel en los proyectos de nivel de documento.

Se aplica a: la información de este tema se aplica a los proyectos de nivel de documento y los proyectos de nivel de aplicación para Excel 2007 y Excel 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.

También puede agregar controles ListObject en proyectos de complemento de nivel de aplicación.

En este tema se describen las tareas siguientes:

  • Agregar controles ListObject en tiempo de diseño

  • Agregar controles ListObject en tiempo de ejecución en un proyecto en el nivel del documento

  • Agregar controles ListObject en tiempo de ejecución en un proyecto en el nivel de la aplicación

Para obtener más información sobre los controles ListObject, vea ListObject (Control).

Agregar controles ListObject en tiempo de diseño

Hay varias maneras de agregar controles ListObject en tiempo de diseño a una hoja de cálculo en un proyecto en el nivel del documento: desde Excel, desde el Cuadro de herramientas de Visual Studio y desde la ventana Orígenes de datos.

Nota

Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio incluidos en las instrucciones siguientes. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio.

Para utilizar la cinta de opciones en Excel

  1. En la ficha Insertar, del grupo Tablas, haga clic en Tabla.

  2. Seleccione las celdas que desea incluir en la lista y haga clic en Aceptar.

Para utilizar el Cuadro de herramientas

  1. Desde la ficha Controles de Excel del Cuadro de herramientas, arrastre ListObject hacia la hoja de cálculo.

    Aparecerá el cuadro de diálogo Agregar control ListObject.

  2. Seleccione las celdas que desea incluir en la lista y haga clic en Aceptar.

    Si no desea conservar el nombre predeterminado, puede cambiarlo en la ventana Propiedades.

Para utilizar la ventana Orígenes de datos

  1. Abra la ventana Orígenes de datos y cree un origen de datos para el proyecto. Para obtener más información, vea Cómo: Conectarse a los datos de una base de datos.

  2. Arrastre una tabla desde la ventana Orígenes de datos hasta la hoja de cálculo.

    Un control ListObject enlazado a datos se agrega a la hoja de cálculo. Para obtener más información, vea Enlace de datos y formularios Windows Forms.

Agregar controles ListObject en tiempo de ejecución en un proyecto en el nivel del documento

Puede agregar el control ListObject dinámicamente en tiempo de ejecución. Esto le permite crear los controles de host en respuesta a eventos. Los objetos de lista creados de forma dinámica no se conservan en la hoja de cálculo como controles host cuando ésta se cierra. Para obtener más información, vea Agregar controles a documentos de Office en tiempo de ejecución.

Para agregar un control ListObject a una hoja de cálculo mediante programación

  • En el controlador de eventos Startup de Sheet1, inserte el código siguiente para agregar un control ListObject a las celdas A1 hasta 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");
    

Agregar controles ListObject en tiempo de ejecución en un proyecto en el nivel de la aplicación

Puede agregar un control mediante programación ListObject a cualquier hoja de cálculo abierta en un proyecto en el nivel de la aplicación. Los objetos de lista creados de forma dinámica no se conservan en la hoja de cálculo como controles host cuando ésta se guarda y, a continuación, se cierra. Para obtener más información, vea Ampliar documentos de Word y libros de Excel en complementos en el nivel de la aplicación en tiempo de ejecución.

Para agregar un control ListObject a una hoja de cálculo mediante programación

  • El código siguiente genera un elemento host de hoja de cálculo que se basa en la hoja de cálculo abierta y, a continuación, agrega un control ListObject a las celdas de la A1 a la 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");
    }
    

Vea también

Tareas

Cómo: Cambiar el tamaño de los controles ListObject

Conceptos

Ampliar documentos de Word y libros de Excel en complementos en el nivel de la aplicación en tiempo de ejecución

ListObject (Control)

Automatizar Excel usando objetos extendidos

Información general sobre elementos y controles Host

Limitaciones de programación de elementos y controles Host

Otros recursos

Controles en documentos de Office

Enlazar datos a controles en soluciones de Office