Share via


Cómo: Agregar controles de Windows Forms a documentos de Office

Actualización: Julio de 2008

Se aplica a

La información de este tema sólo se aplica a los proyectos y versiones especificados de Visual Studio Tools para Office de Microsoft Office.

Proyectos de nivel de documento

  • Excel 2003

  • Excel 2007

  • Word 2003

  • Word 2007

Proyectos de nivel de aplicación

  • Excel 2007

  • Word 2007

Para obtener más información, consulte Características disponibles por aplicación y tipo de proyecto.

Puede agregar controles de formularios Windows Forms a documentos de Microsoft Office Word y Microsoft Office Excel en tiempo de diseño en proyectos en el nivel del documento. En tiempo de ejecución, puede agregar controles a personalizaciones en el nivel del documento y a complementos en el nivel de la aplicación. Por ejemplo, puede agregar un control ComboBox a la hoja de cálculo correspondiente para que los usuarios puedan realizar diferentes selecciones de una lista de opciones.

En este tema se describen las tareas siguientes:

  • Agregar controles en tiempo de diseño

  • Agregar controles en tiempo de ejecución a proyectos en el nivel del documento

  • Agregar controles en tiempo de ejecución a complementos en el nivel de la aplicación

También puede agregar controles host, como controles Bookmark y controles NamedRange, a los documentos de Office. Para obtener más información, vea Controles Host de Word y Controles Host de Excel.

Agregar controles en tiempo de diseño

Hay varias maneras de agregar controles de formularios Windows Forms al documento de un proyecto en el nivel del documento en tiempo de ejecución:

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 arrastrar un control de formularios Windows Forms al documento

  1. Cree o abra un proyecto de libro de Excel o de documento de Word en Visual Studio para que el documento sea visible en el diseñador. Para obtener información sobre cómo crear proyectos, vea Cómo: Crear proyectos de Visual Studio para Office.

  2. En la ficha Controles comunes del Cuadro de herramientas, haga clic en el control que desea agregar y arrástrelo al documento.

    Nota:

    Cuando seleccione un control en Excel, verá =EMBED("WinForms.Control.Host","") en la Barra de fórmulas. Este texto es necesario y no debe eliminarse.

Para dibujar un control de formularios Windows Forms en el documento

  1. Cree o abra un proyecto de libro de Excel o de documento de Word en Visual Studio para que el documento sea visible en el diseñador. Para obtener información sobre cómo crear proyectos, vea Cómo: Crear proyectos de Visual Studio para Office.

  2. En la ficha Controles comunes del Cuadro de herramientas, haga clic en el control que desea agregar.

  3. En el documento, haga clic en el punto en que desee que se encuentre la esquina superior izquierda del control y arrastre hasta donde desee que se encuentre la esquina inferior derecha del control.

    El control se agregará al documento con la ubicación y el tamaño especificados.

    Nota:

    Cuando seleccione un control en Excel, verá =EMBED("WinForms.Control.Host","") en la Barra de fórmulas. Este texto es necesario y no debe eliminarse.

Para agregar un control de formularios Windows Forms al documento mediante un clic en el control

  1. Cree o abra un proyecto de libro de Excel o de documento de Word en Visual Studio para que el documento sea visible en el diseñador. Para obtener información sobre cómo crear proyectos, vea Cómo: Crear proyectos de Visual Studio para Office.

  2. En la ficha Controles comunes del Cuadro de herramientas, haga clic en el control que desea agregar.

  3. En el documento, haga clic en el lugar en el que desea agregar el control.

    El control se agrega al documento con el tamaño predeterminado.

    Nota:

    Cuando seleccione un control en Excel, verá =EMBED("WinForms.Control.Host","") en la Barra de fórmulas. Este texto es necesario y no debe eliminarse.

Para agregar un control de formularios Windows Forms al documento mediante un doble clic en el control

  1. Cree o abra un proyecto de libro de Excel o de documento de Word en Visual Studio para que el documento sea visible en el diseñador. Para obtener información sobre cómo crear proyectos, vea Cómo: Crear proyectos de Visual Studio para Office.

  2. En la ficha Controles comunes del Cuadro de herramientas, haga doble clic en el control que desea agregar.

    El control se agrega al documento en el centro del documento o del panel activo.

    Nota:

    Cuando seleccione un control en Excel, verá =EMBED("WinForms.Control.Host","") en la Barra de fórmulas. Este texto es necesario y no debe eliminarse.

Para agregar un control de formularios Windows Forms al documento mediante la tecla ENTRAR

  1. Cree o abra un proyecto de libro de Excel o de documento de Word en Visual Studio para que el documento sea visible en el diseñador. Para obtener información sobre cómo crear proyectos, vea Cómo: Crear proyectos de Visual Studio para Office.

  2. En la ficha Controles comunes del Cuadro de herramientas, haga clic en el control que desea agregar y presione la tecla ENTRAR.

    El control se agrega al documento en el centro del documento o del panel activo.

    Nota:

    Cuando seleccione un control en Excel, verá =EMBED("WinForms.Control.Host","") en la Barra de fórmulas. Este texto es necesario y no debe eliminarse.

Agregar controles en tiempo de ejecución a proyectos en el nivel del documento

Puede agregar, mediante programación, controles de formularios Windows Forms a documentos en tiempo de ejecución. En Word, use los métodos de la propiedad Controls de la clase ThisDocument. En Excel, use los métodos de la propiedad Controls de una clase Sheetn. Cada método tiene varias sobrecargas que permiten especificar la ubicación del control de maneras diferentes. Para obtener más información, vea Métodos auxiliares para controles de formularios Windows Forms.

Cuando se agrega un control de formularios Windows Forms a un documento en tiempo de ejecución, el control no se conserva en el documento cuando éste se cierra. Puede volver a crear el control la próxima vez que se abra el documento. Para obtener más información, vea Agregar controles a documentos de Office en tiempo de ejecución.

Para agregar un control de formularios Windows Forms en tiempo de ejecución

  • Utilice un método Microsoft.Office.Tools.Word.ControlCollection (para proyectos de Word) o el método Microsoft.Office.Tools.Excel.ControlCollection (para proyectos de Excel) que tiene el nombre Add<clase del control> (donde clase del control es el nombre de clase del control de formularios Windows Forms que desea agregar, por ejemplo AddButton).

    En el ejemplo de código siguiente se muestra cómo agregar un Button a la celda C5 de la Sheet1 en un proyecto en el nivel del documento para Excel.

    Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Me.Startup
    
        Dim salesButton As Microsoft.Office.Tools.Excel.Controls.Button
        salesButton = Me.Controls.AddButton(Me.Range("C5"), "salesButton")
        salesButton.Text = "Calculate Total Sales"
    End Sub
    
    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
        Microsoft.Office.Tools.Excel.Controls.Button salesButton;
        salesButton = this.Controls.AddButton(this.get_Range("C5", missing), "salesButton");
        salesButton.Text = "Calculate Total Sales";
    }
    

Agregar controles en tiempo de ejecución a complementos en el nivel de la aplicación

Puede agregar, mediante programación, controles de formularios Windows Forms a cualquier documento abierto en tiempo de ejecución. Primero, genere un elemento host basado en un documento o en una hoja de cálculo abierta. A continuación, en Word, utilice métodos de la propiedad Document.Controls del nuevo elemento host. En Excel, utilice métodos de la propiedad Worksheet.Controls del nuevo elemento host. Cada método tiene varias sobrecargas que permiten especificar la ubicación del control de maneras diferentes. Para obtener más información, vea Métodos auxiliares para controles de formularios Windows Forms.

Cuando se agrega un control de formularios Windows Forms a un documento en tiempo de ejecución, el control no se conserva en el documento cuando éste se cierra. Puede volver a crear el control la próxima vez que se abra el documento. Para obtener más información, vea Agregar controles a documentos de Office en tiempo de ejecución.

Para obtener más información sobre cómo generar elementos host en proyectos en el nivel de la aplicació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 de formularios Windows Forms en tiempo de ejecución

  • Utilice un método Microsoft.Office.Tools.Word.ControlCollection (para proyectos de Word) o el método Microsoft.Office.Tools.Excel.ControlCollection (para proyectos de Excel) que tiene el nombre Add<clase del control> (donde clase del control es el nombre de clase del control de formularios Windows Forms que desea agregar, por ejemplo AddButton).

    En el ejemplo de código siguiente se muestra cómo agregar un control Button al primer párrafo del documento activo usando un complemento de Word.

    Dim salesButton As Microsoft.Office.Tools.Word.Controls.Button
    Dim extendedDocument As Document = Me.Application.ActiveDocument.GetVstoObject()
    
    extendedDocument.Paragraphs(1).Range.InsertParagraphBefore()
    salesButton = extendedDocument.Controls.AddButton( _
        extendedDocument.Paragraphs(1).Range, 75, 18, "salesButton")
    salesButton.Text = "Calculate Sales"
    
    Microsoft.Office.Tools.Word.Controls.Button salesButton;
    Document extendedDocument = this.Application.ActiveDocument.GetVstoObject();
    
    extendedDocument.Paragraphs[1].Range.InsertParagraphBefore();
    salesButton = extendedDocument.Controls.AddButton(
        extendedDocument.Paragraphs[1].Range, 75, 18, "salesButton");
    salesButton.Text = "Calculate Sales";
    

Vea también

Tareas

Cómo: Cambiar el tamaño de controles en celdas de hojas de cálculo

Conceptos

Información general sobre controles de formularios Windows Forms en documentos de Office

Agregar controles a documentos de Office en tiempo de ejecución

Información general sobre elementos y controles Host

Descripción de los parámetros opcionales en las soluciones de Office

Historial de cambios

Fecha

Historial

Motivo

Julio de 2008

Agregado el procedimiento para agregar controles a documentos en un complemento en el nivel de la aplicación.

Cambio de características de SP1.