Configurar la plantilla de formulario para detectar el estado de conexión de un formulario

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í.

Si está diseñando una plantilla de formulario cuyos formularios dependen de una conexión de red para procesar o devolver datos y está familiarizado con la escritura de secuencias de comandos, puede escribir un script que detecta el estado de conexión de red de formularios basados en la plantilla de formulario. Puede usar esta secuencia de comandos para que Microsoft Office InfoPath Compruebe si un nuevo formulario está conectado a una red y si el formulario puede conectarse a un origen de datos externo antes de que el formulario envía una consulta al origen de datos externo. Este artículo proporciona Microsoft JScript y ejemplos de Visual Basic Scripting Edition (VBScript) para determinar si formularios basados en la plantilla de formulario están conectados a la red y si esos formularios pueden conectarse al origen de datos externo.

En este artículo:

Información general

Ejemplo de JScript

Ejemplo de VBScript

Utilizar el ejemplo de secuencia de comandos en una plantilla de formulario

Descripción general

Para determinar el estado de conexión de la red de un formulario basado en su plantilla de formulario, puede usar la propiedad MachineOnlineState del objeto Application. Después puede usar el método IsDestinationReachable del mismo objeto Application para determinar si el formulario puede encontrar el origen de datos externo. La propiedad MachineOnlineState contiene un valor que representa el estado de conexión del formulario. Esta propiedad puede tener los siguientes valores:

Valor

Descripción

0

El equipo no está conectado a una red. La propiedad puede tener este valor si el equipo no está conectado a una red o si la tarjeta de red del equipo está deshabilitada.

1

El equipo está conectado a una red. Si el equipo está conectado a una red mediante un cable de red, este valor indica que el equipo está en una red. Si el equipo tiene una tarjeta de red inalámbrica en uso, este valor indica que la tarjeta de red inalámbrica está funcionando. Sin embargo, el equipo puede no estar conectado a una red inalámbrica.

2

El equipo está conectado a una red, pero Windows Internet Explorer está configurado para trabajar sin conexión. Cuando Internet Explorer está configurado para trabajar sin conexión, la conexión de datos a una base de datos o servicio Web puede no funcionar de forma correcta.

Después de haber determinado que el equipo del usuario está conectado a una red, puede usar el método IsDestinationReachable para determinar si el formulario puede comunicarse con el origen de datos externo. Este método toma la dirección URL (Uniform Resource Locator) o dirección URN (Uniform Resource Name) del origen de datos externo como parámetro y devuelve uno de los siguientes valores booleanos:

True    El formulario ha encontrado el origen de datos externo en la red.

False    El formulario no puede encontrar el origen de datos externo. Este origen puede estar sin conexión o puede estar en la red, pero no disponible.

Los ejemplos de secuencias de comandos de este artículo sólo determinan si el formulario está conectado a la red. En este artículo, los ejemplos de secuencias de comandos se usan si el usuario abre por primera vez el formulario. Sin embargo, también puede usar esta secuencia de comandos siempre que desee comprobar la conexión de red antes de ejecutar una acción. Por ejemplo, puede usar esta secuencia de comandos cuando un usuario hace clic en un botón determinado del formulario para determinar si hay una conexión de red a un origen de datos externo. Independientemente de que elija usar esta secuencia de comandos, también puede agregar una secuencia de comandos que ejecute una acción, basándose en si el formulario está conectado a la red o no. Por ejemplo, si el equipo está sin conexión o no puede conectarse al origen de datos externo, puede hacer que InfoPath muestre un mensaje de advertencia al usuario que indique que el origen de datos externo no esté disponible. Puede personalizar el mensaje de advertencia para indicar a los usuarios lo que tienen que hacer si el origen de datos externo no está disponible. Por ejemplo, puede indicarles que intenten rellenar el formulario más adelante o que se pongan en contacto con el servicio de soporte técnico.

Principio de página

Ejemplo de JScript

var machineState = Application.MachineOnlineState;
var displayMessage = machineState;
switch(machineState)
{
case 0:
{
displayMessage = "The computer is not connected to a network.";
break;
}
case 1:
{
if (!Application.IsDestinationReachable("http://example"))
{
displayMessage = "The computer is connected to a network, "
+ "but the external data source is not "
+ "available. Contact the data source "
+ "administrator for more information.";
}
else
{
displayMessage = "The computer is connected to a network.";
}
break;
}
case 2:
{
displayMessage = "The computer is connected to a network, but "
+ "Internet Explorer is in offline mode. Some "
+ "data connections may not work until you "
+ "set Internet Explorer to online mode. To "
+ "switch to online mode, on the File menu in "
+ "Internet Explorer, click Work Offline.";
break;
}
default:
{
displayMessage = "An unknown error occurred: Error: "
+ machineState;
}
}
XDocument.UI.Alert(displayMessage);

Principio de página

Ejemplo de VBScript

Dim machineState, displayMessage, returnValue
machineState = Application.MachineOnlineState
displayMessage = machineState
returnValue = False
Select Case machineState
Case 0
displayMessage = "The computer is not connected to a network."
Case 1
returnValue = Application.IsDestinationReachable("http://example")
If returnValue = False Then
displayMessage = "The computer is connected to a network, but "
displayMessage = displayMessage + "the external data source is "
displayMessage = displayMessage + "not available. Contact the "
displayMessage = displayMessage + "data source administrator "
displayMessage = displayMessage + "for more information."
Else
displayMessage = "The computer is connected to a network."
End If
Case 2
displayMessage = "The computer is connected to a network, but "
displayMessage = displayMessage + "Internet Explorer is in "
displayMessage = displayMessage + "offline mode. Some data "
displayMessage = displayMessage + "connections may not work "
displayMessage = displayMessage + "until you set Internet "
displayMessage = displayMessage + "Explorer to online mode. "
displayMessage = displayMessage + "To switch to online mode, "
displayMessage = displayMessage + "on the File menu in "
displayMessage = displayMessage + "Internet Explorer, click "
displayMessage = displayMessage + "Work Offline."
Case Else
displayMessage = "An unknown error occurred: Error: "
displayMessage = displayMessage + machineState + "."
End Select
XDocument.UI.Alert(displayMessage)

Principio de página

Utilizar el ejemplo de secuencia de comandos en una plantilla de formulario

Si desea probar un ejemplo de secuencia de comandos antes de utilizarla en la plantilla de formulario, puede usar el siguiente procedimiento para crear una plantilla de formulario en blanco y, a continuación, copiar uno de los ejemplos de secuencia de comandos desde este artículo al evento OnLoad. La secuencia de comandos en el evento OnLoad se ejecuta siempre que se crea un nuevo formulario basado en la plantilla de formulario. Después puede obtener una vista previa de la plantilla de formulario para probar el ejemplo de secuencia de comandos con el equipo conectado a una red, o conectado a la red pero con Internet Explorer establecido en modo sin conexión.

  1. Copie uno de los ejemplos de secuencia de comandos listados anteriormente en este tema y, a continuación, péguelo en un editor de texto, como el Bloc de notas de Microsoft.

    Nota: Copiar el ejemplo de secuencia de comandos en un editor de texto antes de agregarlo a la plantilla de formulario evita que las marcas de formato del lenguaje de marcado de hipertexto HTML aparezcan en la secuencia de comandos.

  2. En InfoPath, en el menú Archivo, haga clic en Diseñar una plantilla de formulario.

  3. En Diseñar nuevo, en el cuadro de diálogo Diseñar una plantilla de formulario, haga clic sucesivamente en Plantilla de formulario, en En blanco y en Aceptar.

  4. De manera predeterminada, las nuevas plantillas de formulario se configuran para usar JScript como lenguaje de secuencias de comandos. Para usar VBScript como su lenguaje de secuencias de comandos, cambie el lenguaje de secuencias de comandos de la plantilla de formulario.

    Cómo

    1. En el menú Herramientas, haga clic en Opciones de formulario.

    2. En la lista Categoría, haga clic en Programación.

    3. En la lista Lenguaje del código de la plantilla de formulario en Lenguaje de programación, haga clic en VBScript y, a continuación, haga clic en Aceptar.

  5. En el menú Herramientas, elija Programación y, a continuación, haga clic en Evento Al cargar (OnLoad). El editor de secuencias de comandos de Microsoft comienza con el cursor en el evento OnLoad.

  6. En el evento OnLoad del Editor de secuencias de comandos de Microsoft, reemplace el texto // Write your code here (JScript) o ' Write your code here (VBScript) con el ejemplo de secuencia de comandos que ha copiado en el editor de texto.

  7. Modifique el ejemplo de secuencia de comandos para que se adapte a su entorno. Por ejemplo, puede modificar los mensajes y cambiar http://ejemplo a la dirección URL o URN del origen de datos externo.

  8. En el Editor de secuencias de comandos de Microsoft, en el menú Archivo, haga clic en Guardar.

  9. Para probar sus cambios, haga clic en Vista previa en la barra Estándar, o presione CTRL+MAYÚS+B.

Principio de página

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.

×