Comparteix a través de


Tutorial: Recopilación de datos mediante un formulario Windows Forms

En este tutorial se muestra cómo abrir un formulario de Windows Forms desde una personalización de nivel de documento de Microsoft Office Excel, cómo recopilar la información del usuario y cómo escribir dicha información en una celda de la hoja de cálculo.

Se aplica a: la información de este tema se aplica a proyectos de nivel de documento y proyectos de complementos de VSTO. Consulte Características disponibles por aplicación de Office lication y tipo de proyecto.

Aunque en este tutorial usaremos específicamente un proyecto de nivel de documento para Excel, los conceptos que se muestran en el mismo se pueden aplicar a otros proyectos de Office.

Requisitos previos

Necesitará los componentes siguientes para completar este tutorial:

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 más información, vea Personalizar el IDE de Visual Studio.

Creación de un nuevo proyecto

En primer lugar, es necesario crear un proyecto de libro de Excel.

Para crear un nuevo proyecto

  1. Cree un proyecto de libro de Excel con el nombre WinFormInputy seleccione Crear un nuevo documento en el asistente. Para obtener más información, vea Cómo: crear proyectos de Office en Visual Studio.

    Visual Studio abre el nuevo libro de Excel en el diseñador y agrega el proyecto WinFormInput al Explorador de soluciones.

Agregar un control NamedRange a la hoja de cálculo

Agregar un intervalo con nombre a Sheet1

  1. Seleccione la celda A1 de Sheet1.

  2. En el cuadro Nombre , escriba formInput.

    El cuadro Nombre está situado a la izquierda de la barra de fórmulas, justo sobre la columna A de la hoja de cálculo.

  3. Presione ENTRAR.

    Se agrega un control NamedRange a la celda A1. No hay ninguna indicación visible en la hoja de cálculo, pero formInput aparece en el cuadro Nombre (justo encima de la hoja de cálculo, en el lado izquierdo) y en la ventana Propiedades cuando se selecciona la celda A1 .

Agregar un formulario Windows Forms al proyecto

Cree un formulario de Windows Forms para solicitar la información al usuario.

Agregar un formulario de Windows Forms

  1. Seleccione el proyecto WinFormInput en el Explorador de soluciones.

  2. En el menú Proyecto , haga clic en Agregar formulario de Windows Forms.

  3. Asigne un nombre al formulario GetInputString.vb o GetInputString.csy, a continuación, haga clic en Agregar.

    El formulario se abrirá en el diseñador.

  4. Agregue un TextBox y un Button al formulario.

  5. Seleccione el botón, busque la propiedad Texto en la ventana Propiedades y cambie el texto a Aceptar.

    A continuación, agregue el código a ThisWorkbook.vb o a ThisWorkbook.cs para recopilar la información del usuario.

Mostrar windows Forms y recopilar información

Cree una instancia del formulario de Windows Forms GetInputString y ábrala; a continuación, escriba la información del usuario en una celda de la hoja de cálculo.

Mostrar el formulario y recopilar la información

  1. Haga clic con el botón derecho en ThisWorkbook.vb o en ThisWorkbook.cs en el Explorador de solucionesy, a continuación, seleccione Ver código.

  2. En el controlador de eventos Open de ThisWorkbook, agregue el siguiente código para declarar una variable del formulario GetInputString y hacer que se este se muestre.

    Nota:

    En C#, debe agregar un controlador de eventos tal como se muestra en el evento Startup que tiene a continuación. Para obtener información sobre cómo crear controladores de eventos, vea How to: Create event handlers in Office projects.

    private void ThisWorkbook_Startup(object sender, System.EventArgs e)
    {
        this.Open += new 
            Microsoft.Office.Interop.Excel.WorkbookEvents_OpenEventHandler(ThisWorkbook_Open);
    }
    
    private void ThisWorkbook_Open()
    {
        GetInputString inputForm = new GetInputString();
        inputForm.ShowDialog();
    }
    
  3. Cree un método llamado WriteStringToCell que escriba texto en un intervalo con nombre. La llamada a este método se realiza desde el formulario, y los datos que proporcione el usuario se pasan al control NamedRange , formInput, en la celda A1.

    public void WriteStringToCell(string formData)
    {
        Globals.Sheet1.formInput.Value2 = formData;
    }
    

    A continuación, agregue el código al formulario para controlar el evento “Click” del botón.

Enviar información a la hoja de cálculo

Enviar información a la hoja de cálculo

  1. Haga clic con el botón derecho en GetInputString , en el Explorador de solucionesy, a continuación, seleccione Diseñador de vistas.

  2. Haga doble clic en el botón para abrir el archivo de código con el controlador de eventos Click del botón agregado.

  3. Agregue el código al controlador de eventos para obtener los datos incluidos en el cuadro de texto, envíelo a la función WriteStringToCelly, a continuación, cierre el formulario.

    Globals.ThisWorkbook.WriteStringToCell(this.textBox1.Text);
    this.Dispose();
    

Prueba

Ahora puedes ejecutar el proyecto. Aparecerá el formulario de Windows Forms y los datos proporcionados se mostrarán en la hoja de cálculo.

Para probar el libro

  1. Presione F5 para ejecutar el proyecto.

  2. Asegúrese que ha aparecido el formulario de Windows Forms.

  3. Escriba Hello World en el cuadro de texto y, a continuación, haga clic en Aceptar.

  4. Confirme que Hello World aparece en la celda A1 de la hoja de cálculo.

Pasos siguientes

En este tutorial se muestran los aspectos básicos para mostrar un formulario de Windows Forms y pasar datos a una hoja de cálculo. Entre otras tareas que puede realizar se incluyen las siguientes:

  • Usar los controles de formularios de Windows Forms en un libro de Excel o en un documento de Word. Para obtener más información, vea Controles de Windows Forms en la introducción a documentos de Office.

  • Modifique la interfaz de usuario de una aplicación de Office de Microsoft a partir de una personalización de nivel de documento o de un complemento de VSTO. Para obtener más información, vea Personalización de la interfaz de usuario de Office.