Compartir a través de


Tutorial: Recopilar datos con Windows Forms

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

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 Office 2013 y Office 2010. Vea Características disponibles por aplicación y tipo de proyecto de Office.

Aunque en este tutorial se usa 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

Necesita los componentes siguientes para completar este tutorial:

-

Una edición de Visual Studio 2012 que incluye las herramientas para desarrolladores de Microsoft Office. Para obtener más información, vea [Configurar un equipo para desarrollar soluciones de Office](bb398242\(v=vs.110\).md).
  • Excel 2013 o Excel 2010.

[!NOTA]

Es posible que su 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 tenga y la configuración que esté usando determinan estos elementos.Para obtener más información, vea Valores de configuración de Visual Studio.

Crear un proyecto nuevo

El primer paso es crear un proyecto de libro de Excel.

Para crear un nuevo proyecto

  • Cree un proyecto de libro de Excel con el nombre WinFormInput y 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

Para agregar un rango 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 Windows Form al proyecto

Cree un Windows Form para solicitar información al usuario.

Para agregar un Windows Form

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

  2. En el menú Proyecto, haga clic en Agregar Windows Form.

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

    El formulario nuevo se abre en el diseñador.

  4. Agregue una notificación TextBox y un botón Button al formulario.

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

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

Presentar el Windows Form y recopilar información

Cree una instancia del Windows Form GetInputString, muéstrela y, a continuación, escriba la información del usuario en una celda de la hoja de cálculo.

Para mostrar el formulario y recopilar información

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

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

    [!NOTA]

    En C#, debe agregar un controlador de eventos tal como se muestra en el evento Startup a continuación.Para obtener más información sobre cómo crear controladores de eventos, vea Cómo: Crear controladores de eventos en proyectos de Office.

    Private Sub ThisWorkbook_Open() Handles Me.Open
        Dim inputForm As New GetInputString()
        inputForm.Show()
    End Sub
    
    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.Show();
    }
    
  3. Cree un método con el nombre WriteStringToCell que escriba texto en un rango 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 Sub WriteStringToCell(ByVal formData As String)
        Globals.Sheet1.formInput.Value2 = formData
    End Sub
    
    public void WriteStringToCell(string formData)
    {
        Globals.Sheet1.formInput.Value2 = formData;
    }
    

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

Enviar información a la hoja de cálculo

Para enviar información a la hoja de cálculo

  1. Haga clic con el botón secundario en GetInputString, en el Explorador de soluciones y, 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 código al controlador de eventos para obtener los datos incluidos en el cuadro de texto, envíelo a la función WriteStringToCell y, a continuación, cierre el formulario.

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

Pruebas

Ahora puede ejecutar el proyecto.Aparecerá el Windows Form 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. Confirme que aparece el Windows Form.

  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 Windows Form y pasar datos a una hoja de cálculo.Entre otras tareas que puede realizar se incluyen las siguientes:

Vea también

Conceptos

Escribir código en soluciones de Office

Tutoriales para Word

Tutoriales para Excel

Otros recursos

Desarrollar soluciones de Office

Programar complementos de nivel de aplicación

Programar personalizaciones de nivel de documento