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

Important :  Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

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.

Dans cet article

Présentation

Exemple JScript

Exemple VBScript

Utilisez l'exemple de script dans un modèle de formulaire

Présentation

Pour déterminer l'état de la connexion au réseau d'un formulaire basé sur votre modèle de formulaire, vous pouvez utiliser la propriété MachineOnlineState de l'objet Application. Vous pouvez ensuite 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 la connexion du formulaire. 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 au moyen d'un câble réseau, cette valeur indique que l'ordinateur est sur un réseau. Si l'ordinateur dispose d'une carte réseau sans fil, cette valeur indique que la carte réseau sans fil fonctionne. Cependant, l'ordinateur peut ne 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 ligne. Quand Internet Explorer est configuré pour fonctionner hors ligne, la connexion de données à une base de données ou à un service Web peut ne pas fonctionner correctement.

Lorsque vous avez déterminé que l'ordinateur de l'utilisateur est connecté à un réseau, vous pouvez utiliser la méthode IsDestinationReachable afin de déterminer si le formulaire peut communiquer avec la source de données externe. Cette méthode utilise l'Uniform Resource Locator (URL) ou l'Uniform Resource Name (URN) de la source de données externe comme paramètre et renvoie l'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 externe est peut être hors ligne ou peut être sur le réseau, mais indisponible.

Les exemples de script de cet article ne déterminent que la connexion du formulaire au réseau. Dans cet article, les exemples de script sont utilisés quand l'utilisateur ouvre le formulaire pour la première fois. Toutefois, vous pouvez également utiliser ce script quand vous souhaitez vérifier la connexion au réseau avant d'exécuter une action. Par exemple, vous pouvez utiliser ce script quand un utilisateur clique sur un bouton donné du formulaire afin de déterminer l'existence d'une connexion au réseau vers la source de données externe. Quel que soit le moment auquel vous choisissez d'utiliser ce script, vous pouvez également ajouter un script qui exécute une action, basé sur l'état de la connexion au réseau. Par exemple, si l'ordinateur est hors ligne ou ne peut pas se connecter à la source de données externe, vous pouvez faire qu'InfoPath affiche un message d'avertissement à l'intention de l'utilisateur pour signaler que la source de données externe n'est pas disponible. Vous pouvez personnaliser le message d'avertissement afin d'indiquer aux utilisateur ce qu'ils doivent faire si la source de données externe n'est pas disponible. Par exemple, vous pouvez leur demander de remplir le formulaire ultérieurement, ou de 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

Utilisation de l'exemple de script dans un modèle de formulaire

Si vous voulez tester un exemple de script avant de l'utiliser dans votre modèle de formulaire, vous pouvez employer la procédure suivante afin de créer un modèle de formulaire vide, puis copier l'un des exemples de scripts de cet article dans l'événement OnLoad. Le script de l'événement OnLoad est exécuté lorsqu'un nouveau formulaire basé sur le modèle de formulaire est créé. Vous pouvez alors prévisualiser votre modèle de formulaire et tester l'exemple de script avec votre ordinateur connecté à un réseau, ou connecté au réseau mais avec Internet Explorer réglé sur le mode hors connexion.

  1. Copiez l'un des exemples de script donnés ci-dessus dans ce sujet, puis collez-le dans un éditeur de texte, tel que le Bloc-notes Microsoft.

    Remarque : La copie de l'exemple de script dans un éditeur de texte avant de l'ajouter à votre modèle de formulaire évite de faire apparaître les balises de formatage Hypertext Markup Language (HTML)dans le script.

  2. Dans InfoPath, sous le menu Fichier, cliquez sur Créer un modèle de formulaire.

  3. Sous Créer une vue, dans la boîte de dialogue Créer un modèle de formulaire, cliquez sur Modèle de formulaire, cliquez sur Vide puis cliquez sur OK.

  4. Par défaut, les nouveaux modèles de formulaires sont configurés pour utiliser JScript comme langage de scripting. Pour choisir VBScript comme votre langage de scripting, modifiez le langage de scripting 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 du code du modèle de formulaire sous Langage de programmation, cliquez sur VBScript puis cliquez sur OK.

  5. Dans le menu Outils, sélectionnez Programmation puis cliquez sur Événement On Load. 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 // Write your code here (JScript) ou ' Write your code here (VBScript) par l'exemple de script que vous avez copié dans l'éditeur de texte.

  7. Modifiez l'exemple de script selon votre environnement. Par exemple, vous pouvez modifier les messages et remplacer http://example par l'URL ou l'URN de votre source de données externe.

  8. Dans Microsoft Script Editor, sous 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

Remarque : Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Développez vos compétences
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.

×