Exemple d'utilisation du package VBScript dans un robot résilient

Créez un robot qui exécute un script Microsoft Visual Basic. Utilisez le package Essayer/Capturer pour arrêter normalement le robot en cas d'échec, ce qui le rend résistant aux pannes. Un robot résilient permet aux robots planifiés et mis en file d'attente de continuer à fonctionner même si le robot en cours d'exécution rencontre une erreur.

Dans ce robot, vous demandez à l'utilisateur de fournir un nombre. Le robot transmet le nombre à un script Microsoft Visual Basic, qui le multiplie par pi et renvoie la valeur. Le robot transmet ensuite le résultat à l'utilisateur. Vous pouvez utiliser l'action VBScript pour importer un script externe ou saisir le script directement dans votre robot. Dans cet exemple, vous saisissez le script manuellement. Par ailleurs, l'ajout de la gestion des erreurs rend votre robot encore plus résilient.

Procédure

  1. Créez un robot :
    1. Dans le panneau de gauche, cliquez sur Automatisation.
      Une liste des robots et des formulaires disponibles s'affiche.
    2. Cliquez sur Créer un nouveau > robot.
    3. Nommez le robot : MultiplyPi
    4. Saisissez l'emplacement du dossier : Bots\TaskBotExample
    5. Cliquez sur Créer et modifier.
  2. Créez une variable : nPromptAnswer :
    • Type : Nombre
    • Nom : nPromptAnswer
  3. Créez une variable : lNumbersForPi :
    • Type : Liste
    • Sous-type : Nombre
    • Nom : lNumbersForPi
  4. Cliquez sur Enregistrer.
  5. Utilisez l'action Demander > Une valeur pour demander un nombre à l'utilisateur.
    1. Cliquez sur le lien Afficher dans le volet Actions.
    2. Double-cliquez sur l'action Demander une valeur ou faites-la glisser pour l'ajouter au robot.
    3. Dans la fenêtre Légende de la fenêtre d'invite, saisissez : Any Number
    4. Dans le champ Champ de message d'invite, saisissez : Enter any number to multiply by pi.
    5. Dans le champ Attribuer la valeur à une variable, sélectionnez SampleString.
  6. Cliquez sur Enregistrer.
  7. Utilisez l'action Gestionnaire d'erreur > Essayer pour arrêter normalement le robot en cas d'erreur, notamment si l'utilisateur n'a pas saisi de nombre.
    1. Double-cliquez sur l'action Gestionnaire d'erreur > Essayer ou faites-la glisser.
    2. Faites glisser l'action Demander > Une valeur sous l'action Gestionnaire d'erreur > Essayer.
  8. Cliquez sur Enregistrer.
  9. Convertissez la variable SampleString (chaîne) en valeur numérique.
    1. Double-cliquez sur l'action Chaîne > En nombre ou faites-la glisser pour l'ajouter comme dernière ligne avant l'action Gestionnaire d'erreur : Captureraction.
    2. Dans le champ Entrer la chaîne, appuyez sur la touche F2 pour ouvrir la liste de vos variables, puis sélectionnez SampleString.
    3. Cliquez sur Oui, insérer.
    4. Dans le champ Attribuer la sortie à une variable, sélectionnez nPromptAnswer.
  10. Cliquez sur Enregistrer.
  11. Copiez la valeur numérique dans le premier élément de la liste des nombres à transmettre à VBScript.
    1. Double-cliquez sur l'action Liste > Ajouter un élément ou faites-la glisser pour l'ajouter comme dernière ligne avant l'action Gestionnaire d'erreur : Captureraction.
    2. Dans le champ Variable de liste, sélectionnez lNumbersForPi.
    3. Dans le champ Élément à ajouter, sélectionnez nPromptAnswer.
  12. Cliquez sur Enregistrer.
  13. Utilisez l'action VBScript > Ouvrir pour fournir votre code source Visual Basic.
    1. Double-cliquez sur l'action Ouvrir VBScript ou faites-la glisser pour l'ajouter comme dernière ligne avant l'action Gestionnaire d'erreur : Captureraction.
    2. Dans les options VBScript, sélectionnez Entrée manuelle.
    3. Copiez le code suivant et collez-le dans le champ Entrer un script ici :
      Dim Arg, var1, var2
      Set Arg = WScript.Arguments
      Function MultiplyPi(Arg)
        var1 = Arg(0)
        var2 = 3.14159
        MultiplyPi = cdbl(var1)*var2
      End Function
  14. Cliquez sur Enregistrer.
  15. Utilisez l'action VBScript > Exécuter la fonction pour exécuter le script.
    1. Double-cliquez sur l'action Exécuter la fonction VBScript ou faites-la glisser pour l'ajouter comme dernière ligne avant l'action Gestionnaire d'erreur : Captureraction.
    2. Dans le champ Saisir le nom de la fonction à exécuter (facultatif), saisissez MultiplyPi.
    3. Dans le champ Paramètres (facultatif), sélectionnez la variable lNumbersForPi.
    4. Dans le champ Attribuer la sortie à une variable (facultatif), sélectionnez SampleString.
  16. Cliquez sur Enregistrer.
  17. Utilisez l'action VBScript > Fermer pour mettre fin à la session.
    1. Double-cliquez sur l'action Fermer VBScript ou faites-la glisser pour l'ajouter comme dernière ligne avant l'action Gestionnaire d'erreur : Captureraction.
  18. Cliquez sur Enregistrer.
  19. Affichez à l'écran la réponse générée dans le VBScript.
    1. Double-cliquez sur l'action Zone de message ou faites-la glisser pour l'ajouter comme dernière ligne avant l'action Gestionnaire d'erreur : Captureraction.
    2. Dans le champ Entrer le message à afficher, saisissez Pi times your number is: , puis appuyez sur F2 pour ouvrir la liste de vos variables. Sélectionnez SampleString.
    3. Cliquez sur Oui, insérer.
  20. Cliquez sur Enregistrer.
  21. Informez l'utilisateur si une erreur est survenue et arrêtez normalement le robot.
    1. Cliquez une fois sur l'action Gestionnaire d'erreur : Capturer toutes les erreursaction de façon à la mettre en surbrillance dans votre robot.
    2. Double-cliquez sur l'action Zone de message ou faites-la glisser pour l'insérer comme dernière action du robot.
    3. Dans le champ Entrer le message à afficher, saisissez Bot failed. Please be sure to enter only numbers..
  22. Cliquez sur Enregistrer.
  23. Cliquez sur le bouton Liste pour afficher votre code sous forme de texte uniquement.
    Votre code doit être similaire au suivant :
    Start
    Error handler: Try
        Prompt: For value during bot execution and assign the value $SampleString$
        String: To number Convert string $SampleString$ to a number and assign it to number variable $nPromptAnswer$
        List: Add item $nPromptAnswer$ to $lNumbersForPi$
        VBScript: Open VBScript manual script of 7 lines
        VBScript: Run function "MultiplyPi"
        VBScript: Close VBScript "Default"
        Message box "Pi times your number is: $SampleString$"
    Error handler: Catch AllErrors
        Message box "Bot failed.  Please be sure to enter only numbers."
    End
  24. Exécutez votre robot.
  25. Lorsque le robot s'exécute avec succès, la fenêtre d'invite s'ouvre pour vous permettre de saisir la valeur, puis la zone de message affiche le nombre calculé. Lisez le message et cliquez sur Fermer.
    Saisir la valeur dans la fenêtre d'invite
    Valeurs calculées affichées dans la zone de message
    Vous pouvez tester la résilience de votre robot en l'exécutant à nouveau et en saisissant une lettre au lieu d'un nombre.