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 action 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 action 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 action 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 action 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 action Gerenciador de erros > Tentar.
    2. Arraste a action Prompt > Para valor na action 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 action String > para número, acrescentando-a como a última linha antes do Gerenciador de erros: Capturar action.
    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 action Lista > Adicionar item, acrescentando-a como a última linha antes do Gerenciador de erros: Capturar action.
    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 action VBScript > Abrir para fornecer seu código-fonte Visual Basic.
    1. Dê um clique duplo ou arraste a action VBScript Abrir, acrescentando-a como a última linha antes do Gerenciador de erros: Capturar action.
    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 action VBScript > Executar função para executar o script.
    1. Dê um clique duplo ou arraste a action VBScript Executar função, acrescentando-a como a última linha antes do Gerenciador de erros: Capturar action.
    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 action VBScript > Fechar para encerrar a sessão.
    1. Dê um clique duplo ou arraste a action VBScript Fechar, acrescentando-a como a última linha antes do Gerenciador de erros: Capturar action.
  18. Clique em Salvar.
  19. Imprimir a resposta gerada no VBScript na tela.
    1. Dê um clique duplo ou arraste a action Caixa de mensagens, acrescentando-a como a última linha antes do Gerenciador de erros: Capturar action.
    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 action 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.