Crear un controlador de eventos

Importante:  Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

Al escribir la secuencia de comandos para una plantilla de formulario de Microsoft Office InfoPath, suele escribir código en uno del formulario controladores de eventos de validación de datos o la plantilla. Un controlador de eventos es el código de función en una plantilla de formulario de InfoPath que responde a una acción del usuario o un cambio en los datos XML en un formulario. Cómo crear un controlador de eventos depende del tipo de evento que desee usar. Es importante crear el controlador de eventos en modo de diseño porque InfoPath crea las declaraciones de los controladores de eventos en el archivo de comandos y realiza entradas en el archivo de definición (.xsf) que habilitan una plantilla de formulario usar los controladores de eventos automáticamente.

Nota: Aunque es posible crear los controladores de eventos manualmente en el archivo de secuencias de comandos y, a continuación, habilitarlos agregando manualmente los elementos adecuados al archivo .xsf, no es aconsejable. Si se efectúa un cambio no válido en este archivo, puede que no se pueda usar la plantilla de formulario.

La siguiente tabla enumera cada uno de los controladores de eventos de InfoPath y los pasos para crearlos. Cuando se crea un controlador de eventos para una plantilla de formulario, InfoPath inicia Microsoft Script Editor (MSE) y coloque el cursor en el código para ese controlador de eventos. A continuación, puede escribir la secuencia de comandos para el controlador de eventos. Para obtener información detallada acerca de los controladores de eventos y eventos de InfoPath, vea la referencia del programador de InfoPath, que está disponible en la Ayuda de MSE.

Event handler

Description

Steps for creating

OnAfterChange

Este evento se ejecuta cuando un usuario cambia el valor en el control especificado enlazado a un campo. Por ejemplo, puede mostrar un panel de tareas personalizado HTML después de que un usuario selecciona un elemento en un control de cuadro de lista. Este evento se ejecuta el evento OnValidate .

Haga clic en un control en la plantilla de formulario o un campo en el panel de tareas Origen de datos, seleccione programación en el menú contextual y, a continuación, haga clic En evento después del cambio.

OnAfterImport

Este evento se ejecuta después de que el usuario correctamente combina varios formularios en uno solo.

Agregar manualmente la declaración directamente al archivo de script mediante MSE. Este controlador de eventos no pueden crearse en modo de diseño.

OnBeforeChange

Este evento se ejecuta cuando un usuario cambia el valor de un control y antes de que el valor se agrega al campo especificado enlazado a dicho control. Por ejemplo, puede impedir que un usuario agrega una fila adicional antes de rellenar la última fila de una tabla extensible.

Haga clic en un control en la plantilla de formulario o un campo en el panel de tareas Origen de datos, seleccione programación en el menú contextual y, a continuación, haga clic En evento antes del cambio.

OnClick

Este evento se ejecuta cuando el usuario hace clic en un botón asociado al evento. Este evento está disponible después de agregar un botón a la plantilla de formulario. Por ejemplo, puede realizar un cálculo complejo con los valores en los campos del origen de datos principal cuando un usuario hace clic en el botón.

Haga doble clic en el control de botón y, a continuación, en la ficha General del cuadro de diálogo Propiedades del botón, haga clic en Editar código del formulario.

OnContextChange

Este evento se ejecuta cuando cambie el foco en el formulario. Por ejemplo, este evento se ejecuta cuando un usuario se desplaza de un cuadro de texto a un selector de fecha, o cuando un usuario cambie las vistas. Este evento se produce después de han realizado todos los otros eventos.

En el menú Herramientas, elija programación y, a continuación, haga clic En el evento de cambio de contexto.

OnLoad

Este evento se ejecuta cuando un usuario crea un nuevo formulario o abre un formulario existente en función de la plantilla de formulario. Por ejemplo, puede copiar una lista de elementos de un origen de datos secundario al origen de datos principal cuando un usuario abre el formulario.

En el menú Herramientas, elija programación y, a continuación, haga clic En el evento de carga.

OnMergeRequest

Este evento se ejecuta cuando se combinan formularios basados en la plantilla de formulario. Por ejemplo, puede mostrar el número de formularios que se han combinado para dar a un usuario un estado durante la operación Combinar.

En el menú Herramientas, haga clic en Opciones de formulario. En la lista categoría, haga clic en Avanzadas. En Combinar formularios, active la casilla de verificación Combinar usando código personalizado y, a continuación, haga clic en Editar.

OnSaveRequest

Este evento se ejecuta cuando el usuario guarda un formulario basado en la plantilla de formulario. Por ejemplo, puede guardar el formulario basado en esta plantilla de formulario a más de una ubicación cuando el usuario guarda el formulario. InfoPath agrega dos líneas adicionales de código para este evento: una línea que guarda el formulario y otra línea que le indica si InfoPath guardado correctamente el formulario.

En el menú Herramientas, haga clic en Opciones de formulario. En la lista categoría, haga clic en Abrir y guardar. En Guardar comportamiento, active la casilla de verificación Guardar usando código personalizado y, a continuación, haga clic en Editar.

OnSign

Este evento se ejecuta cuando un usuario aplica una firma digital a un formulario. Por ejemplo, puede agregar datos adicionales a la firma digital de un formulario de informe de gastos, cuando un usuario inicia sesión.

En el menú Herramientas, elija programación y, a continuación, haga clic En el evento de inicio de sesión.

OnSubmitRequest

Este evento se ejecuta cuando un usuario envía sus datos del formulario. Por ejemplo, puede enviar los datos del formulario a un servicio Web seguro cuando el usuario hace clic en Enviar en el menú archivo. Dado que InfoPath no admite una conexión de datos a un servicio Web seguro, debe agregar una conexión de datos personalizados que funciona con el servicio Web seguro.

En el menú Herramientas, haga clic en Opciones de envío. Active la casilla de verificación Permitir a los usuarios enviar este formulario, haga clic en realizar una acción personalizada utilizando código y, a continuación, haga clic en Editar código.

OnSwitchView

Este evento se ejecuta cuando un usuario abre un formulario basado en la plantilla de formulario o cambia a otra vista en el formulario. Por ejemplo, cuando un usuario cambia a una vista específica, puede crear un mensaje de correo electrónico que contiene los datos de los campos de origen de datos principal del formulario.

En el menú Herramientas, haga clic en programación y, a continuación, haga clic En Cambiar vista evento.

OnValidate

Este evento se ejecuta cuando un usuario cambia el valor de un control enlazado a un campo. Por ejemplo, cuando el usuario cambia el valor de un control específico, puede calcular un nuevo valor para otro control mediante el número que el usuario especificado y un número que se encuentra en la secuencia de comandos. Este evento se produce cuando se ejecuta el controlador de eventos OnBeforeChange .

Haga clic en un control en la plantilla de formulario o un campo en el panel de tareas Origen de datos, seleccione programación en el menú contextual y, a continuación, haga clic En después de validar evento.

OnVersionUpgrade

Este evento se ejecuta cuando un usuario abre un formulario existente y el número de versión de la plantilla de formulario que se usa el formulario existente es más antiguo que el número de versión de la plantilla de formulario en la ubicación de publicación. Cuando un usuario abre un formulario existente, InfoPath comprueba el número de versión de la plantilla de formulario asociada con el formulario existente. Si la plantilla de formulario tiene un número de versión más reciente, InfoPath ejecuta el controlador de eventos de OnVersion cuando el usuario abre el formulario existente. Por ejemplo, suponga que agregar un nuevo campo a una plantilla de formulario y publicarlo, y desea que el nuevo campo que se agregará al origen de datos principal si un usuario abre un formulario existente. Este evento agrega el campo nuevo al origen de datos principal cuando un usuario abre un formulario existente.

En el menú Herramientas, haga clic en Opciones de formulario. En la lista categoría, haga clic en control de versiones. En la lista al actualizar la versión, haga clic en Utilizar evento personalizado y, a continuación, haga clic en Editar.

Nota: Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×