Compartir a través de


Agregar controles de Windows Forms a documentos de Office

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

Se aplica a: La información de este tema se aplica a proyectos de nivel de documento y proyectos de complementos de VSTO para Excel y Word. Para obtener más información, consulte Características disponibles por aplicación de Office lication y tipo de proyecto.

En este tema se describen las tareas siguientes:

Agregar controles en tiempo de diseño

Hay varias maneras de agregar controles de Windows Forms al documento en un proyecto de nivel de documento en tiempo de diseño.

Nota:

Es posible que tu equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio en las siguientes instrucciones. 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 Personalizar el IDE.

Para arrastrar un control de Windows Forms al documento

  1. Cree o abra un proyecto de libro de Excel o un proyecto de documento de Word en Visual Studio para que el documento esté visible en el diseñador. Para obtener información sobre cómo crear proyectos, vea How to: Create Office projects in Visual Studio(Cómo: Crear proyectos de Office en Visual Studio).

  2. En la pestaña 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 se debe eliminar.

Para dibujar un control de Windows Forms en el documento

  1. Cree o abra un proyecto de libro de Excel o un proyecto de documento de Word en Visual Studio para que el documento esté visible en el diseñador. Para obtener información sobre cómo crear proyectos, vea How to: Create Office projects in Visual Studio(Cómo: Crear proyectos de Office en Visual Studio).

  2. En la pestaña 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 se debe eliminar.

Para agregar un control de Windows Forms mediante un clic en el control

  1. Cree o abra un proyecto de libro de Excel o un proyecto de documento de Word en Visual Studio para que el documento esté visible en el diseñador. Para obtener información sobre cómo crear proyectos, vea How to: Create Office projects in Visual Studio(Cómo: Crear proyectos de Office en Visual Studio).

  2. En la pestaña 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 se debe eliminar.

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

  1. Cree o abra un proyecto de libro de Excel o un proyecto de documento de Word en Visual Studio para que el documento esté visible en el diseñador. Para obtener información sobre cómo crear proyectos, vea How to: Create Office projects in Visual Studio(Cómo: Crear proyectos de Office en Visual Studio).

  2. En la pestaña 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 se debe eliminar.

Para agregar un control de Windows Forms al documento presionando la tecla Entrar

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

  2. En la pestaña 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 se debe eliminar.

Agregar controles en tiempo de ejecución en proyectos de nivel de documento

Puede agregar controles de Windows Forms mediante programación a un documento en tiempo de ejecución. En Word, use los métodos de la propiedad Controls de la clase ThisDocument. En Excel, use métodos de la Controls propiedad de una Sheetclase n . Cada método tiene varias sobrecargas que permiten especificar la ubicación del control de maneras diferentes.

Al agregar un control de Windows Forms a un documento en tiempo de ejecución, el control no se conserva en el documento cuando se cierra el documento. 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 Windows Forms en tiempo de ejecución

  1. Use un método que tenga el nombre Agregar<clase> de control (donde clase de control es el nombre de clase del control de Windows Forms que desea agregar, como AddButton).

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

    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
        Microsoft.Office.Tools.Excel.Controls.Button salesButton;
        salesButton = this.Controls.AddButton(this.get_Range("C5"), "salesButton");
        salesButton.Text = "Calculate Total Sales";
    }
    

Agregar controles en tiempo de ejecución en complementos de VSTO

Puede agregar controles de Windows Forms mediante programación a cualquier documento abierto en tiempo de ejecución. En primer lugar, genere un elemento host que se base en una hoja de cálculo o documento abierto. A continuación, en Word, use los métodos de la propiedad Controls del nuevo elemento host. En Excel, use los métodos de la propiedad Controls del nuevo elemento host. Cada método tiene varias sobrecargas que permiten especificar la ubicación del control de maneras diferentes.

Al agregar un control de Windows Forms a un documento en tiempo de ejecución, el control no se conserva en el documento cuando se cierra el documento. 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 de host en proyectos de complemento de VSTO, vea Extender documentos de Word y libros de Excel en complementos de VSTO en tiempo de ejecución.

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

  1. Use un método que tenga el nombre Agregar<clase> de control (donde clase de control es el nombre de clase del control de Windows Forms que desea agregar, como AddButton).

    Nota:

    En los proyectos de complemento de VSTO que tienen como destino .NET Framework 4 o posterior, debe agregar una referencia al ensamblado Microsoft.Office.Tools.Excel.v4.0.Utilities.dll o Microsoft.Office.Tools.Word.v4.0.Utilities.dll para poder acceder a los métodos de la clase> de control Add<.

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

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