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

Puede agregar controles NamedRange 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 NamedRange en tiempo de ejecución a los proyectos de complementos en el nivel de la aplicación.

En este tema se describen las tareas siguientes:

  • Agregar controles NamedRange en tiempo de diseño

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

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

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

Agregar controles NamedRange en tiempo de diseño

Hay varias maneras de agregar controles NamedRange 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 agregar un control NamedRange a una hoja de cálculo utilizando el Cuadro de nombres de Excel

  1. Seleccione la celda o celdas que desea incluir en el rango con nombre.

  2. En el Cuadro de nombres, escriba un nombre para el rango y presione ENTRAR.

    El Cuadro de nombres está situado al lado de la barra de fórmulas, justo sobre la columna A de la hoja de cálculo.

Para agregar un control NamedRange a una hoja de cálculo utilizando el Cuadro de herramientas

  1. Abra el Cuadro de herramientas y haga clic en la ficha Controles de Excel .

  2. Haga clic en el control NamedRange y arrástrelo hacia una hoja de cálculo.

    Aparecerá el cuadro de diálogo Agregar intervalo con nombre.

  3. Seleccione la celda o celdas que desea incluir en el rango con nombre.

  4. Haga clic en Aceptar.

    Si no desea usar el nombre predeterminado que se ha dado al control, puede cambiarlo en la ventana Propiedades.

Para agregar un control NamedRange a una hoja de cálculo utilizando 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 un campo único desde la ventana Orígenes de datos hasta la hoja de cálculo.

    Un control NamedRange 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 NamedRange en tiempo de ejecución en un proyecto en el nivel del documento

Puede agregar mediante programación un control NamedRange a la hoja de cálculo en tiempo de ejecución. Esto le permite crear el control host como respuesta a eventos. Los rangos con nombre 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 NamedRange a una hoja de cálculo mediante programación

  • En el controlador de eventos Startup de Sheet1, inserte el código siguiente para agregar el control NamedRange a la celda A1 y establecer su propiedad Value2 en Hello world!.

    Dim textInCell As Microsoft.Office.Tools.Excel.NamedRange
    textInCell = Me.Controls.AddNamedRange(Me.Range("A1"), "cellText")
    
    textInCell.Value2 = "Hello world!"
    
    Microsoft.Office.Tools.Excel.NamedRange textInCell;
    textInCell = this.Controls.AddNamedRange(this.get_Range("A1", missing), "cellText");
    
    textInCell.Value2 = "Hello world!";
    

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

Puede agregar un control mediante programación NamedRange a cualquier hoja de cálculo abierta en un proyecto en el nivel de la aplicación. Los rangos con nombre 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 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 NamedRange a una hoja de cálculo mediante programación

  • El código siguiente genera un elemento host de hoja de cálculo basado en la hoja de cálculo abierta; a continuación, agrega un control NamedRange a la celda A1 y establece su propiedad Value2 en Hello world.

    Private Sub AddNamedRange()
        Dim textInCell As Microsoft.Office.Tools.Excel.NamedRange
    
        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 cell As Excel.Range = worksheet.Range("A1")
        textInCell = worksheet.Controls.AddNamedRange(cell, "MyNamedRange")
        textInCell.Value2 = "Hello World"
    End Sub
    
    private void AddNamedRange()
    {
        Microsoft.Office.Tools.Excel.NamedRange textInCell;
    
        // 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();
    
        Excel.Range cell = worksheet.Range["A1", missing]; 
        textInCell = worksheet.Controls.AddNamedRange(cell, "MyNamedRange");
        textInCell.Value2 = "Hello World";
     }
    

Vea también

Tareas

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

Conceptos

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

NamedRange (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