Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Sumário
Introdução 2
A ferramenta 3
Como criar um script 4
Hotkeys & Hotstrings 6
Teclas e seus símbolos 8
Múltiplas hotkeys / hotstrings por arquivo 9
Abrir um programa/site 10
Run 10
Envio de Teclas 11
Send 11
Janelas 12
IfWinExist 13
WinActivate 13
WinWait 13
Velocidade do script 13
SetBatchLines 14
SetKeyDelay 14
SetWinDelay 14
WinDelay 14
Sleep 14
Entrada de dados 14
Variável 14
Input 15
Como utilizar a ajuda 15
Sobre 15
www.primeirobot.com.br
1
Introdução
Automatizar as tarefas que realiza, pode ser o primeiro
passo para que você tenha uma maior produtividade ou
qualidade de vida. O bot ou robô é uma ferramenta muito
utilizada por empresas, pois traz diversos benefícios
relativos a custo e produtividade. No entanto, não é muito
abordado quando se considerada a automação de tarefa
do profissional, do indivíduo.
Não se preocupe se você não é um programador ou se não
sabe exatamente onde o robô vai se encaixar no seu
dia-a-dia. Com este material, pretendo ensinar pra você
como criar seu primeiro bot e dar algumas dicas para
começar a automatizar suas tarefas rotineiras.
As informações utilizadas como base estão considerando o
sistema operacional Windows 10, no entanto, se estiver
utilizando outra versão e encontrar alguma dificuldade ou
divergência, pode entrar em contato comigo pelo e-mail
contato@primeirobot.com.br e terei o prazer em ajudar.
Neste conteúdo, você verá explicações e códigos que pode
não estar familiarizado(a). Portanto, para um melhor
aprendizado, aconselho que a cada tópico estudado,
execute o código proposto. Isso fará com que assimile
melhor o conteúdo. Se ficar confuso, leia e execute o
tópico novamente.
Bons estudos!
www.primeirobot.com.br
2
A ferramenta
Para criar seu primeiro bot, você vai precisar de um
programa chamado AutoHotKey, mas não se preocupe.
Trata-se de um programa 100% gratuito.
No entanto, o AutoHotkey não faz o trabalho sozinho. É
preciso criar um script para definir os passos que serão
executados. O script nada mais é do que um arquivo de
texto sem formatação com a extensão .ahk que contém
instruções para o programa. Ele pode ter apenas um
comando, mas na maioria das vezes você definirá diversas
teclas de atalho e em cada uma delas, uma ou mais ações a
serem executadas. Tudo ficará mais claro conforme for
acompanhando o conteúdo deste e-book.
"Não pense por muito tempo; faça.
Mas não faça por muito tempo; pense"
Confúcio
O programa pode ser baixado e instalado ou pode-se
utilizá-lo de forma "Portable", ou seja, sem necessidade de
instalação. Infelizmente, essa ferramenta só funciona em
ambiente Windows. Portanto, se você é um usuário de
outro sistema operacional, talvez possa trabalhar o seu
robô utilizando uma máquina virtual. Neste e-book
abordarei o uso da forma "portable". Desta forma, você
poderá criar seu script robô mesmo que o computador que
esteja utilizando não permita a instalação de aplicativos, o
que é comum em muitas empresas.
www.primeirobot.com.br
3
1. Clique no link abaixo e faça o download da ferramenta
no formato portable:
https://www.autohotkey.com/download/ahk.zip
2. Descompacte o arquivo baixado em C:\AutoHotKey\ ou
em qualquer outro caminho de sua preferência. É
importante lembrar em qual caminho foi
descompactado, pois será acessado mais adiante.
3. Abra o "Bloco de notas".
4. No menu Arquivo, selecione a opção "Salvar como…"
www.primeirobot.com.br
4
5. Escolha um nome para o arquivo e termine com a
extensão ".ahk". Por exemplo: MeuScript.ahk
Em Tipo, escolha “Todos os arquivos” e em
Codificação, escolha “Unicode”.
6. Localize o arquivo salvo, clique com o botão direito do
mouse e selecione a opção "Abrir com/Escolher outro
aplicativo".
www.primeirobot.com.br
5
7. Na caixa de diálogo que abrirá, clique em “Mais
aplicativos..” e marque a opção “Sempre usar este
aplicativo para abrir arquivos .ahk”.
8. Clique na opção “Procurar outro aplicativo neste PC”,
vá até o caminho onde o arquivo foi descompactado,
conforme feito no passo 2 e selecione o arquivo
“AutoHotKeyU32.exe”.
www.primeirobot.com.br
6
Como criar um script
Depois de realizar o download e descompacta-lo no
caminho escolhido, é necessário criar o script com a
sequência de comandos que deseja que o robô execute.
1. Abra o “Bloco de notas”.
2. No menu Arquivo, selecione a opção “Abrir”.
3. Selecione o arquivo “MeuScript.ahk” criado nos passos
anteriores.
Vamos agora, criar um script muito básico para que
compreenda como funciona o disparo do robô. Nele vamos
configurar uma tecla de atalho que vai disparar a digitação
de um texto quando pressionada.
Digite ou copie e cole o código abaixo no arquivo
“MeuScript.ahk” que foi aberto no passo anterior:
^p::
Send, Meu primeiro Bot
return
Mais a frente, irei aprofundar mais sobre os comandos, por
agora, segue abaixo uma explicação para o código acima:
www.primeirobot.com.br
7
A segunda linha: Send, Meu primeiro Bot é como você
envia as teclas como se estivessem sendo digitadas. Send é
o comando, qualquer coisa depois da vírgula (,) serão
teclas a serem digitadas.
www.primeirobot.com.br
8
Hotkeys & Hotstrings
Hotkey é uma combinação de teclas que você pressiona no
teclado para disparar algumas ações, também chamada de
tecla de atalho. Como por exemplo, o código que utilizou
no exemplo anterior:
^p::
Send, Meu Primeiro Bot
return
::Att::Atenciosamente
A diferença entre os dois exemplos é que a hotkey será
acionada quando você pressionar Ctrl+P enquanto a
hotstring c onverterá o "Att" digitado em "Atenciosamente".
Uma hotkey é criada usando um único par de dois-pontos.
A combinação de teclas deve ficar à esquerda do ::. E o
bloco de comandos precisa ser inserido abaixo, seguido
sempre por um return. Por exemplo:
Esc::
MsgBox, A tecla ESC foi pressionada!!!!
return
www.primeirobot.com.br
9
Nota: Lembre-se de ir adicionando os códigos
apresentados ao arquivo “MeuScript.ahk”. Após adicionar,
salve-o, execute-o e teste o disparo da hotkey ou hotstring.
::Obg::
MsgBox, você digitou Obg.
return
Uma informação importante, é que você pode ter muitas
linhas de código para cada hotkey ou hotstring. Por
exemplo:
^p::
MsgBox, Repare
MsgBox, que existem
Run, notepad.exe
WinActivate, Sem título - Bloco de notas
WinWaitActive, Sem título - Bloco de
notas
Send, 7 linhas {!} {Enter}
www.primeirobot.com.br
10
SendInput, dentro da tecla de atalho
CTRL{+}P.
return
Símbolo Descrição
! Alt
^ Control
+ Shift
www.primeirobot.com.br
11
return
#i::
Run, http://www.google.com/
return
^p::
Run, notepad.exe
return
~j::
Send, Bom dia!:
return
::att::atenciosamente
::abs::abraços
::tb::também
::vc::você
www.primeirobot.com.br
12
::obg::obrigado
No código acima note que foram definidas várias hotkeys e
hotstrings. Tudo em um mesmo arquivo de script. Salve-o,
execute-o e veja o funcionamento das teclas de disparo.
Abrir um programa/site
Run
Agora que já sabe como configurar o disparo de um script,
vou mostrar como utilizar o comando Run, que serve tanto
para abrir programas quanto para abrir sites.
Você pode chamar o programa pelo caminho completo do
seu executável, por exemplo:
Run, C:\Program Files
(x86)\Google\Chrome\Application\chrome.exe
Para aplicações nativas do Windows, os executáveis podem
ser chamados diretamente:
Run, notepad
Run, calc
Para abrir sites, basta chamar a URL e será aberto o site no
navegador definido como padrão.
Run, http://www.google.com
www.primeirobot.com.br
13
É possível também, definir a pasta em que a aplicação será
aberta e se a janela abrirá maximizada ou minimizada.
Run, notepad, C:\Meus Documentos, Max
Run, notepad, C:\Meus Documentos, Min
Envio de Teclas
Send
Símbolo Descrição
! Envia a tecla Alt. Por exemplo: Send,Este é
um texto!a enviaria as teclas "Este é um
texto" e, em seguida, pressionaria Alt+a.
+ Envia a tecla Shift. Por exemplo: Send,+abC
iria enviar o texto "AbC", e Send,!+a vai
pressionar Alt+Shift+A.
^ Envia a tecla Ctrl. Por exemplo, Send,^!A
pressionaria Ctrl+Alt+A e Send,^{Home}
enviaria Ctrl+Home.
www.primeirobot.com.br
14
# Envia a tecla Win (tecla com o logotipo do
Windows), portanto, Send,#e seguraria a
Win depois pressionaria a letra "e".
Janelas
Uma coisa importante para o funcionamento correto do
script é o momento em que os comandos são disparados,
muitas vezes a abertura de janelas ou o processamento de
telas e páginas não acompanha a velocidade de execução
do script. Por isso, é preciso garantir que o comando seja
executado na janela correta. No exemplo abaixo, mostro
como verificar se a janela da aplicação já existe e como
ativá-la. Assim, garantindo que os próximos comandos
sejam executados nela.
www.primeirobot.com.br
15
IfWinExist(Sem título - Bloco de notas)
{
WinActivate(Sem título - Bloco de notas)
}else{
Run, notepad.exe
WinWait, Sem título - Bloco de notas,,10
}
IfWinExist
O comando IfWinExist verifica se existe uma janela do
bloco de notas já aberta. O else, trabalha em conjunto
com o IfWinExist, determinando o que será feito se a
janela não existir.
WinActivate
O WinActivate torna a janela ativa.
WinWait
WinWait aguarda a janela estar ativa para executar o
próximo comando.
Velocidade do script
O AutoHotKey executa cada uma das linhas do script com
uma certa velocidade, que muitas vezes atrapalha no
funcionamento correto do robô. Por isso, é importante
utilizar algumas configurações e comandos para controlar
essa execução.
www.primeirobot.com.br
16
O controle dessa velocidade, vai permitir que perceba o
exato momento em que seu script possui uma falha. Sugiro
que comece com um valor mais alto e vá diminuindo até
que encontre uma velocidade que o script execute sem
problemas.
Nota: Os comandos apresentados abaixo, que são
iniciados por “Set”, são comandos de configuração. O valor
atribuído a eles fica assim definido até o fim da execução
do script.
SetBatchLines
Determina a velocidade que o script é executado.
SetBatchLines, 20ms
SetBatchLines, 20
SetKeyDelay
Essa configuração permite definir um intervalo de tempo a
cada 10 milissegundos de envio de teclas.
www.primeirobot.com.br
17
SetKeyDelay, 200
SetWinDelay
Permite definir um intervalo de tempo após execução dos
comandos que envolvem janelas. Como por exemplo o
WinActivate.
SetWinDelay, 100
No exemplo acima, a cada execução de um comando
relativo a controle de janelas, será feita uma pausa de
100ms
Sleep
Você pode utilizar o comando Sleep em qualquer momento
do script que deseja adicionar uma pausa.
Sleep, 2000
No exemplo acima, é adicionada uma pausa de 2 segundos
no script.
www.primeirobot.com.br
18
Entrada de dados
Variável
É possível entrar com dados no momento da execução do
script. Para isso é necessário utilizar uma variável. A
variável é o “recipiente” que vai permitir receber o valor
informado durante a execução do script e utilizá-lo para
executar uma ação.
Input
Com este comando é possível chamar uma janela para que
seja inserido um valor a ser utilizado em seguida.
InputBox, varValor, Título da janela, Digite
o valor abaixo:
Send, O valor digitado é %varValor%
www.primeirobot.com.br
19
https://www.autohotkey.com/docs/AutoHotkey.htm
Nesta documentação você vai encontrar a opção “Content”,
com a divisão por tópicos. A opção “Index”, contendo uma
lista com todos os comandos. E a opção “Search”, onde
poderá buscar por um comando que possua a
funcionalidade que deseja.
Próximo passo
Agora que terminou todo o conteúdo, peço que preencha o
formulário no link abaixo, que vou enviar pra você mais
uma super dica para a criação dos seus robôs.
Sobre
Meu nome é Edes Júnior, trabalho com
Tecnologia da informação há 20 anos e
gostaria de antes de mais nada,
explicar pra você o que me motivou a
criar este e-book.
Desde o meu primeiro emprego,
sempre notei o quanto alguns
processos internos realizados nas
empresas não são otimizados.
Em grande parte, eles estão lá porque foram algum dia
definidos e ninguém nunca se perguntou se ainda se
faziam necessários.
www.primeirobot.com.br
20
Com essa percepção, consequentemente comecei a me
questionar se os processos necessários de fato estavam
sendo feitos de forma otimizada. Essa minha facilidade de
percepção aliada aos meus conhecimentos em TI, me
levaram ao seguinte questionamento: Porquê o
computador não faz isso sozinho?
Desde então, em toda minha atividade profissional, venho
trabalhando para que a maior quantidade possível de
processos seja otimizada. Seja eliminando os que não são
mais necessários ou otimizando os já defasados.
Um forte aliado deste trabalho sempre foi o uso RPA
(Robotic Process Automation) e durante essa jornada,
utilizei e testei muitas ferramentas para me auxiliar nos
objetivos.
Há cerca de dois anos, conheci a ferramenta AutoHotKey. E
por se tratar de uma ferramenta totalmente gratuita, a
escolhi para apresentar pra você neste conteúdo.
Quando a encontrei e comecei a utilizá-la, a primeira coisa
que pensei foi: “Todo mundo que usa um computador
deveria conhecer isso!”.
Agora, resolvi dar o primeiro passo, criando o site
PrimeiroBot.com.br e este e-book. Onde pretendo
www.primeirobot.com.br
21
direcionar você a aprender a automatizar as tarefas que
executa no computador.
Sucesso!
www.primeirobot.com.br
22