Configurez votre modèle de formulaire pour détecter l'état de la connexion d'un formulaire

Remarque :  Nous faisons de notre mieux pour vous fournir le contenu d’aide le plus récent aussi rapidement que possible dans votre langue. Cette page a été traduite automatiquement et peut donc contenir des erreurs grammaticales ou des imprécisions. Notre objectif est de faire en sorte que ce contenu vous soit utile. Pouvez-vous nous indiquer en bas de page si ces informations vous ont aidé ? Voici l’article en anglais à des fins de référence aisée.

Si vous concevez un modèle de formulaire dont les formulaires s’appuient sur une connexion réseau pour traiter ou renvoyer des données, et que vous êtes habitué avec l’écriture de script, vous pouvez écrire un script qui détecte l’état de connexion réseau des formulaires basés sur votre modèle de formulaire. Vous pouvez utiliser ce script pour que Microsoft Office InfoPath vérifie si un nouveau formulaire est connecté à un réseau et si le formulaire peut se connecter à une source de données externes avant que le formulaire envoie une requête à la source de données externes. Cet article fournit des exemples de Visual Basic Scripting Edition (VBScript) pour déterminer si les formulaires basés sur votre modèle de formulaire et Microsoft JScript sont connectés au réseau et si ces formulaires peuvent se connecter à une source de données externes.

Contenu de cet article

Vue d’ensemble

Exemple JScript

Exemple VBScript

Utiliser l’exemple de script dans un modèle de formulaire

Présentation

Pour déterminer l’état de connexion réseau d’un formulaire basé sur votre modèle de formulaire, vous pouvez utiliser la propriété MachineOnlineState de l’objet Application . Ensuite, vous pouvez utiliser la méthode IsDestinationReachable du même objet Application pour déterminer si le formulaire peut trouver la source de données externe. La propriété MachineOnlineState contient une valeur qui représente l’état de connexion de l’écran. Cette propriété peut avoir les valeurs suivantes :

Valeur

Description

0

L’ordinateur n’est pas connecté à un réseau. La propriété peut avoir cette valeur si l’ordinateur n’est pas connecté à un réseau ou si la carte réseau de l’ordinateur est désactivée.

1

L’ordinateur est connecté à un réseau. Si l’ordinateur est connecté à un réseau à l’aide d’un câble réseau, cette valeur indique que l’ordinateur se trouve sur un réseau. Si l’ordinateur a une carte réseau sans fil de travail, cette valeur indique que la carte réseau sans fil fonctionne. Toutefois, l’ordinateur ne peut pas être connecté à un réseau sans fil.

2

L’ordinateur est connecté à un réseau, mais Windows Internet Explorer est configuré pour fonctionner hors connexion. Lorsque Internet Explorer est configuré pour fonctionner hors connexion, il est possible que la connexion de données à une base de données ou un service Web ne fonctionne pas correctement.

Une fois que vous estimez que l’ordinateur est connecté à un réseau, vous pouvez utiliser la méthode IsDestinationReachable pour déterminer si le formulaire peut communiquer avec la source de données externe. Cette méthode crée l’URL Uniform Resource Locator () ou URN Uniform Resource Name () de la source de données externes en tant que paramètre et renvoie une des valeurs booléennes suivantes :

Vrai    Le formulaire a trouvé la source de données externe sur le réseau.

Faux    Le formulaire ne peut pas trouver la source de données externe. La source de données externes peut être en mode hors connexion ou peut être sur le réseau, mais indisponible.

Les exemples de script dans cet article déterminent uniquement si le formulaire est connecté au réseau. Dans cet article, les exemples de script sont utilisés lorsque l’utilisateur s’ouvre le formulaire. Toutefois, vous pouvez également utiliser ce script chaque fois que vous souhaitez vérifier la connexion réseau avant d’effectuer une action. Par exemple, vous pouvez utiliser ce script lorsqu’un utilisateur clique sur un bouton particulier dans le formulaire pour déterminer s’il existe une connexion réseau à la source de données externes. Quelle que soit la lorsque vous choisissez d’utiliser ce script, vous pouvez également ajouter le script qui effectue une action, en fonction de si le formulaire est connecté au réseau ou non. Par exemple, si l’ordinateur est en mode hors connexion ou ne peut pas se connecter à la source de données externe, vous pouvez avoir InfoPath affiche un message d’avertissement à l’utilisateur qui indique que la source de données externes n’est pas disponible. Vous pouvez personnaliser le message d’avertissement pour informer les utilisateurs que faire si la source de données externes n’est pas disponible. Par exemple, vous pouvez leur demander de remplir le formulaire ultérieurement, ou contacter leur service d’assistance.

Haut de la Page

Exemple 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);

Haut de la Page

Exemple 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)

Haut de la Page

Utiliser l’exemple de script dans un modèle de formulaire

Si vous voulez tester un exemple de script avant d’utiliser dans votre modèle de formulaire, vous pouvez utiliser la procédure suivante pour créer un modèle de formulaire vierge et puis copiez parmi les exemples de script à partir de cet article à l’événement OnLoad . Le script dans l’événement OnLoad s’exécute chaque fois qu’un nouveau formulaire basé sur le modèle de formulaire est créé. Vous pouvez ensuite afficher un aperçu de votre modèle de formulaire pour tester l’exemple de script avec votre ordinateur connecté à un réseau, déconnecté du réseau ou connecté au réseau, mais avec Internet Explorer en mode hors connexion.

  1. Copier l’un des exemples de scripts répertoriées précédemment dans cette rubrique et collez-le dans un éditeur de texte, tel que Microsoft Notepad.

    Remarque : Copié l’exemple de script dans un éditeur de texte avant de l’ajouter à votre modèle de formulaire empêche HTML Hypertext Markup Language () n’apparaissent dans le script de mise en forme.

  2. Dans InfoPath, dans le menu fichier, cliquez sur créer un modèle de formulaire.

  3. Sous créer un nouveau, dans la boîte de dialogue créer un modèle de formulaire, cliquez sur Modèle de formulaire et cliquez sur vide, puis cliquez sur OK.

  4. Par défaut, les nouveaux modèles de formulaires sont configurés pour utiliser le langage de script JScript. Pour utiliser votre langage de script VBScript, modifiez le langage de script du modèle de formulaire.

    Comment ?

    1. Dans le menu Outils, cliquez sur Options de formulaire.

    2. Dans la liste catégorie, cliquez sur programmation.

    3. Dans la liste langage de code de modèle de formulaire sous langage de programmation, cliquez sur VBScript, puis cliquez sur OK.

  5. Dans le menu Outils, pointez sur programmation, puis cliquez sur Événement sur chargement. Microsoft Script Editor démarre avec le curseur sur l’événement OnLoad .

  6. Dans l’événement OnLoad dans Microsoft Script Editor, remplacez le texte de ' Write your code here (VBScript) ou // Write your code here (JScript) avec l’exemple de script que vous avez copié à l’éditeur de texte.

  7. Modifier l’exemple de script pour l’adapter à votre environnement. Par exemple, vous pouvez modifier les messages et modifier http://example à l’URL ou l’URN de votre source de données externe.

  8. Dans Microsoft Script Editor, dans le menu fichier, cliquez sur Enregistrer.

  9. Pour tester vos modifications, cliquez sur Aperçu dans la barre d’outils Standard, ou appuyez sur Ctrl+Maj+B.

Haut de la Page

Développez vos compétences dans Office
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×