Exemplo de utilização do pacote VBScript em um robô resiliente

Construa um bot que execute um script Visual Basic da Microsoft. Use o pacote Try/Catch para encerrar tranquilamente o bot se ele falhar, tornando-o resistente a falhas. Um bot resiliente permite que os bots programados e enfileirados continuem, mesmo que o bot atual encontre um erro.

Neste bot, você pede ao usuário que forneça um número. O bot passa o número para um script Microsoft Visual Basic para multiplicar por pi e retornar o valor. O bot então reporta o resultado para o usuário. Você pode usar a ação VBScript para importar um script externo ou digitá-lo diretamente em seu bot. Neste exemplo, você digita manualmente o script. Você também acrescenta resiliência ao bot, adicionando manipulação de erros.

Procedimento

  1. Crie um bot:
    1. No painel do lado esquerdo, clique em Automação.
      Será exibida uma lista de formulários e bots disponíveis.
    2. Clique em Criar novo > Bot.
    3. Insira um nome para o bot: MultiplyPi
    4. Insira a localização da pasta: Bots\TaskBotExample
    5. Clique em Criar e editar.
  2. Criar uma variável: nPromptAnswer:
    • Tipo: Número
    • Nome: nPromptAnswer
  3. Criar uma variável: lNumbersForPi:
    • Tipo: Lista
    • Subtipo: Número
    • Nome: lNumbersForPi
  4. Clique em Salvar.
  5. Use a ação Prompt > Para valor para pedir um número ao usuário.
    1. Clique no link Mostrar no painel de Ações.
    2. Dê um clique duplo ou arraste a ação Prompt Para valor para adicioná-la ao bot.
    3. No campo Legenda de janela imediata, digite: Any Number
    4. No Campo de mensagem imediata, tipo: Enter any number to multiply by pi.
    5. No campo Atribuir o valor a uma variável, selecione SampleString.
  6. Clique em Salvar.
  7. Use a ação Gerenciador de erros > Tentar para terminar o bot com tranquilidade se houver um erro, como o de o usuário não inserir um número.
    1. Dê um clique duplo ou arraste a ação Gerenciador de erros > Tentar.
    2. Arraste a ação Prompt > Para valor na ação Gerenciador de erros > Tentar.
  8. Clique em Salvar.
  9. Converta a (string) SampleString em um valor numérico.
    1. Dê um clique duplo ou arraste a ação String > para número, acrescentando-a como a última linha antes do Gerenciador de erros: Capturar ação.
    2. No campo Inserir a string, pressione F2 para abrir a lista de variáveis e selecione SampleString.
    3. Clique em Sim, inserir.
    4. No campo Atribuir o valor a uma variável, selecione nPromptAnswer.
  10. Clique em Salvar.
  11. Copie o valor do número para o primeiro item da lista de números a passar para VBScript.
    1. Dê um clique duplo ou arraste a ação Lista > Adicionar item, acrescentando-a como a última linha antes do Gerenciador de erros: Capturar ação.
    2. No campo Variável de lista, selecione lNumbersForPi.
    3. No campo Item a ser adicionado, selecione nPromptAnswer.
  12. Clique em Salvar.
  13. Use a ação VBScript > Abrir para fornecer seu código-fonte Visual Basic.
    1. Dê um clique duplo ou arraste a ação VBScript Abrir, acrescentando-a como a última linha antes do Gerenciador de erros: Capturar ação.
    2. Nas opções VBScript, selecione Entrada manual.
    3. Copie o seguinte código e cole-o no campo Digite o script aqui:
      Dim Arg, var1, var2
      Set Arg = WScript.Arguments
      Function MultiplyPi(Arg)
        var1 = Arg(0)
        var2 = 3.14159
        MultiplyPi = cdbl(var1)*var2
      End Function
  14. Clique em Salvar.
  15. Use a ação VBScript > Executar função para executar o script.
    1. Dê um clique duplo ou arraste a ação VBScript Executar função, acrescentando-a como a última linha antes do Gerenciador de erros: Capturar ação.
    2. No Digite o nome da função a ser executada (opcional), digite MultiplyPi.
    3. No campo Parâmetros (opcional), selecione a variável lNumbersForPi.
    4. No campo Atribuir a saída à variável (opcional), selecione SampleString.
  16. Clique em Salvar.
  17. Use a ação VBScript > Fechar para encerrar a sessão.
    1. Dê um clique duplo ou arraste a ação VBScript Fechar, acrescentando-a como a última linha antes do Gerenciador de erros: Capturar ação.
  18. Clique em Salvar.
  19. Imprimir a resposta gerada no VBScript na tela.
    1. Dê um clique duplo ou arraste a ação Caixa de mensagens, acrescentando-a como a última linha antes do Gerenciador de erros: Capturar ação.
    2. No campo Digite a mensagem a ser exibida, digite Pi times your number is: e pressione F2 para abrir a lista de variáveis. Selecione SampleString.
    3. Clique em Sim, inserir.
  20. Clique em Salvar.
  21. Notifique o usuário se ocorreu um erro e termine o bot tranquilamente.
    1. Clique no Gerenciador de erros: action Capturar AllErrors uma vez que seja destacado em seu bot.
    2. Dê um clique duplo ou arraste a ação Caixa de mensagens para inseri-la como a última ação do bot.
    3. No campo Inserir a mensagem a ser exibida, insira: Bot failed. Please be sure to enter only numbers..
  22. Clique em Salvar.
  23. Clique na guia Lista para visualizar seu código no modo somente texto.
    Seu código deve ser parecido com este:
    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. Execute seu bot.
  25. Quando o bot for executado com êxito, a janela de prompt será aberta para você digitar o valor e, em seguida, a caixa de mensagem exibirá o número calculado. Veja a mensagem e clique em Fechar.
    Digitar o valor na janela de prompt
    Valores calculados exibidos na caixa de mensagem
    Você pode testar a resiliência de seu bot executando novamente o bot e digitando uma letra em vez de um número.