Além da gravação: condições, loops e variáveis em scripts
As macros que gravam e reproduzem operações são a forma mais simples de automatizar tarefas repetitivas. No entanto, uma macro gravada possui uma característica fundamental: “fazer exatamente a mesma coisa todas as vezes”. No trabalho real, há muitas decisões que alteram o comportamento conforme a situação, como “se o estoque estiver zerado, fazer um pedido” ou “se o total ultrapassar o orçamento, emitir um alerta”. Somente a gravação não consegue lidar com essas decisões.
É aí que entram os “scripts”. Com eles, você pode incorporar à automação elementos básicos de programação, como condições (“se… então…”), loops (repetições) e variáveis (recipientes que guardam valores). A palavra “programação” pode parecer intimidadora, mas esses elementos apenas dão forma às decisões do dia a dia, e seu conceito não é difícil. Este artigo explica de forma simples os três pilares dos scripts como o próximo passo após a gravação.
Condições (IF/ELSE): fazendo a automação decidir
Uma condição é um mecanismo que “executa determinado processamento apenas quando uma condição é atendida”. O bloco IF executa seu conteúdo somente quando a condição é verdadeira, enquanto ELSE cuida dos demais casos. Por exemplo: “Se a palavra ‘Erro’ aparecer na tela, notifique o responsável; caso contrário, prossiga diretamente para a próxima etapa.”
É possível usar como condição um valor exibido na tela, a cor de um pixel específico ou um número armazenado em uma variável. As pessoas realizam inconscientemente a sequência de “olhar para a tela, avaliar a situação e decidir a próxima ação”. As condições servem justamente para incorporar essa tomada de decisão à automação. Depois de escrever uma vez, o computador tomará a decisão correta por você em todas as execuções.
Loops (LOOP): repetindo operações
Um loop é um mecanismo que repete o mesmo processamento várias vezes. Ele se parece com a definição do “número de reproduções” de uma macro, mas os loops em scripts são muito mais flexíveis. Além de especificar uma quantidade, como “repetir 10 vezes”, é possível repetir conforme a situação: “até não haver mais linhas na lista” ou “até que determinada condição seja atendida”.
O verdadeiro valor dos loops aparece ao processar grandes volumes de dados. Basta colocar o processo de “tratar um item” dentro de um loop para transformá-lo em “tratar todos os itens da lista”. Sejam 100 ou 1.000 itens, você só precisa escrever o processamento de um deles; o loop percorre todos os demais automaticamente. Uma tarefa que levaria horas manualmente precisa ser escrita apenas uma vez e, depois disso, basta aguardar. É nesse ponto que a automação deixa de economizar “minutos” e passa a economizar “horas”.
Variáveis: armazenando valores
Uma variável é uma “caixa” usada para guardar temporariamente um valor durante o processamento. Contadores (em qual repetição o processo está), nomes de arquivos, valores numéricos lidos da tela e resultados intermediários de cálculos podem ser armazenados em variáveis e reutilizados em etapas posteriores. Por exemplo, um processo como “ler o valor de uma célula em uma variável e, se ele ultrapassar 10 mil, transferi-lo para outra planilha” é implementado combinando variáveis e ramificações condicionais.
Quando variáveis, ramificações condicionais e loops são usados em conjunto, o poder de expressão da automação aumenta rapidamente. “Ler os dados (variáveis), alterar o processamento de acordo com o conteúdo (ramificações condicionais) e aplicar a todos os itens (loops)” — apenas essa combinação já cobre uma parte considerável do trabalho prático. É aqui que começa a “automação inteligente”, que não era possível alcançar com uma simples gravação e reprodução.
Use o tratamento de erros para criar uma “automação que não para”
Depois de se familiarizar com ramificações condicionais, loops e variáveis, o próximo conceito a aprender é o “tratamento de erros”. Ao operar uma automação por muito tempo, imprevistos inevitavelmente acontecem. A rede cai por um instante, um arquivo que deveria abrir não é encontrado ou a tela aparece diferente do habitual — nessas situações, um script sem qualquer preparo para completamente no mesmo instante. Se estiver sendo executado sem supervisão durante a noite, o trabalho poderá permanecer interrompido até a manhã seguinte.
É nesse momento que o mecanismo de tratamento de erros TRY/CATCH se torna útil. Ele permite criar um fluxo em que, mesmo que ocorra uma falha dentro do bloco TRY, todo o processamento não seja interrompido; em vez disso, são executadas as ações definidas no bloco CATCH, como registrar o erro, enviar uma notificação ou ignorar apenas aquele item e seguir para o próximo. Assim, mesmo que um item falhe, os demais são processados até o fim, resultando em uma automação robusta. Em outras palavras, ensinamos ao script a reação que seria natural para uma pessoa: “Mesmo que haja uma falha, primeiro registre-a e depois continue”.
Conheça os comandos SCR mais usados
Os scripts SCR do makuroku oferecem os comandos usados com frequência no trabalho prático. Não é preciso aprender todos de uma vez, mas saber o que eles permitem fazer amplia as possibilidades e ajuda a pensar: “Isso também pode ser automatizado”. Veja alguns dos principais comandos.
- • FIND_IMAGE / WAIT_IMAGE: localizar elementos na tela por imagem ou aguardar que apareçam
- • IF / ELSE / LOOP: ramificações condicionais e repetições
- • SET / ADD / SUB: atribuição de valores a variáveis e cálculos
- • READ_FILE / WRITE_FILE: leitura e gravação de arquivos
- • HTTP_GET / POST: comunicação com serviços externos
- • NOTIFY / PROMPT: exibição de notificações e solicitação de entrada do usuário
Ao combinar esses recursos, é possível criar automações avançadas que uma simples gravação jamais conseguiria alcançar, como “ler dados de um arquivo, alterar o processamento conforme as condições, enviar o resultado a um serviço externo e notificar a conclusão”. Além disso, a função de cada comando é simples, portanto não é difícil aprendê-los. Basta ampliar seu repertório aos poucos, começando pelos comandos de que você precisa.
Exemplos de automação que podem ser realizados com scripts
Ao combinar ramificações condicionais, loops, variáveis e tratamento de erros, torna-se possível criar automações muito além do alcance de uma simples gravação. Vejamos alguns exemplos concretos. Considere, por exemplo, a tarefa de “abrir um por um todos os arquivos de uma pasta, verificar seu conteúdo e mover para outra pasta apenas os que atendem às condições”. Isso pode ser feito percorrendo todos os arquivos com um loop e separando-os por meio de condições. Uma triagem que levaria uma hora manualmente pode ser concluída em poucos minutos depois que o script for escrito.
Outro exemplo é a tarefa de monitoramento que consiste em “obter dados periodicamente de um site, compará-los com o valor anterior e emitir uma notificação se houver alguma mudança”, uma área em que os scripts também se destacam. Os dados são obtidos por comunicação HTTP, comparados com o valor anterior armazenado em uma variável e uma condição aciona a notificação quando há mudança. Combinando isso com uma execução agendada, você cria um sistema de monitoramento que não deixa nenhuma mudança passar despercebida, sem que você precise fazer nada.
Esse tipo de automação pode parecer difícil à primeira vista, mas cada um de seus elementos — loops, ramificações condicionais, variáveis, comunicação e notificações — é simples. O difícil é “entender tudo de uma vez”, não “combinar os elementos um por um”. Comece apenas com as condições, depois aprenda os loops e vá ampliando seus conhecimentos aos poucos a partir dos elementos necessários. Quando perceber, você já será capaz de criar automações bastante avançadas por conta própria.
O importante é não tentar criar um script perfeito logo de início. Primeiro, crie uma versão mínima que funcione, execute-a de verdade e corrija aos poucos os pontos que não saírem como esperado. O makuroku tem um recurso de depuração que destaca em tempo real a linha que está sendo executada, permitindo melhorar o script enquanto você verifica visualmente “onde está e o que está acontecendo agora”. Testar, corrigir e testar novamente — essa repetição é o caminho mais rápido para dominar os scripts.
Dicas para manter os scripts fáceis de ler
Um script não termina quando é escrito; muitas vezes ele será revisto e alterado posteriormente. Por isso, pensar na “legibilidade” desde a escrita facilitará muito o trabalho do seu eu do futuro. Há algumas dicas para isso. Primeiro, dê nomes significativos às variáveis. Em vez de “x” ou “a”, use nomes como “valor total” ou “nome do arquivo de destino”, que deixem claro o conteúdo. Assim, ao rever o script mais tarde, você entenderá imediatamente a intenção do processamento.
Em seguida, adicione comentários a cada bloco de processamento. Mesmo notas curtas como “obter dados a partir daqui” ou “verificar o valor aqui” tornam muito mais fácil acompanhar o fluxo geral do script. Também é útil dividir processamentos complexos em vários scripts menores. Um conjunto de scripts curtos separados por função é mais fácil de alterar e reutilizar do que um único script enorme. O segredo para criar scripts duradouros é escrevê-los pensando: “Meu eu do futuro conseguirá ler e entender isto?”
Como depurar scripts
Ao escrever scripts, é inevitável que algo não funcione como esperado. O processo de identificar a causa com calma é chamado de “depuração”. O princípio básico da depuração é determinar “até onde tudo funciona corretamente e a partir de onde o comportamento diverge do esperado”. O makuroku oferece um recurso que destaca em tempo real a linha em execução e uma saída PRINT que exibe valores intermediários na tela, permitindo procurar a causa enquanto você verifica visualmente “onde está e o que está acontecendo agora”.
Para depurar com eficiência, primeiro divida o processamento em pequenas partes e verifique o funcionamento de cada uma separadamente. Se você tentar concluir tudo de uma só vez, será difícil identificar onde está o problema. Escreva aos poucos, execute com frequência e só avance depois de confirmar que tudo funciona corretamente. Essa repetição cuidadosa acaba sendo a maneira mais rápida e segura de criar scripts. Mesmo quando ocorrer um erro, a depuração não será assustadora se você encará-lo como uma dica que mostra “o que precisa ser corrigido”.
Ordem recomendada para aprender scripts
Veja uma ordem recomendada para aprender os diferentes elementos de um script. O primeiro conceito a dominar é, sem dúvida, a ramificação condicional (IF/ELSE). Decisões do tipo “se isso acontecer” são a base de qualquer automação. Em seguida vêm os loops (LOOP). O processamento repetitivo é extremamente eficaz ao lidar com grandes volumes de dados. Só de aprender a usar esses dois elementos, você já poderá automatizar muitas tarefas que uma simples gravação não conseguia realizar.
O próximo passo são as variáveis. O mecanismo que armazena valores permite criar processos mais flexíveis quando combinado com ramificações condicionais e loops. Ao chegar até aqui, aprenda o tratamento de erros (TRY/CATCH). Para manter uma operação autônoma por longos períodos, é indispensável ter um mecanismo que não pare mesmo se ocorrer uma falha no meio do processo. Por fim, basta aprender, conforme a necessidade, comandos especializados adequados ao seu objetivo, como operações com arquivos, comunicação HTTP e OCR.
O importante é não tentar aprender tudo de uma só vez. Quando, no trabalho real, você pensar “seria útil poder fazer isso”, procure a função correspondente e experimente usá-la. Esse estilo de “aprender por necessidade” é o que acaba fixando melhor o conhecimento. Em vez de ler um livro didático do início ao fim, você desenvolverá habilidades mais práticas automatizando as tarefas à sua frente e assimilando, a cada momento, os elementos necessários.
Embora os scripts possam parecer difíceis à primeira vista, cada elemento é simples e você certamente conseguirá dominá-los se aprender passo a passo. Depois disso, a variedade de tarefas que poderá automatizar aumentará drasticamente. Comece com uma gravação e dê o primeiro passo no mundo dos scripts adicionando uma única ramificação condicional.
Transição tranquila da gravação para o script
Quem acha que “scripts parecem difíceis” precisa saber, acima de tudo, que não é necessário começar com uma página em branco. No makuroku, você pode primeiro gravar as operações pela GUI e depois converter a macro em um script SCR editável. Isso significa que você já começa com uma estrutura funcional. Depois, basta alterar as partes necessárias, como envolver com LOOP o trecho que deseja repetir ou adicionar IF no ponto em que precisa tomar uma decisão.
Além disso, a sintaxe é verificada enquanto você digita, permitindo que erros de escrita sejam apontados na hora. Há também uma função de depuração que destaca em tempo real a linha em execução, permitindo visualizar imediatamente “em que ponto o processamento está”. Graças a esses recursos de apoio, a transição da gravação para o script é gradual. Primeiro crie a estrutura por meio da gravação e depois adicione condições e loops aos poucos. Com essa abordagem, até quem não tem experiência em programação consegue criar automações práticas por conta própria. Com o makuroku, você pode experimentar gratuitamente todos esses recursos.
Experimente grátis
Automatize com o makuroku
O makuroku grava seu mouse e teclado e depois reproduz automaticamente. Adicione scripts SCR e integração com IA (MCP) quando precisar de mais. Todos os recursos gratuitos no Windows.
Mais artigos