Como programar abertura de planilha automaticamente? Essa é uma pergunta constante nos sites de ajuda VBA.
Tanto que quando recebo e-mails sobre esse assunto até dou duas opções:
- Executar o excel automaticamente por código vba
- Abrir o excel automático pelo agendador do Windows
Neste artigo vamos ver a segunda opção, pois a primeira pode ser vista em outros sites e apesar de ser mais simples é necessário que o processo do Excel fique aberto.
Você irá perceber que para funcionar quase não precisa de código, mas como envolve uma quantidade de passos eu coloquei várias imagens!
É muita tecnologia?!
Então antes de continuar detalhando sobre o assunto, é de convir, mesmo nunca tendo feito este código, que a idéia é muito interessante…
Deixar o Excel tão automático que não é preciso nem abrir!!!
E podemos expandir ainda mais a partir do assunto principal:
- Abrir periodicamente: diário, semanal, mensal
- Repetidamente conforme minutos ou horas
- Ao inicializar o computador
- E etc
Programar abertura de planilha
Antes de descrever cada passo é necessário enxergarmos o processo como um todo:
Etapa 1 dentro do Excel – Código Principal
Então vamos começar pelo fim do processo ou seja, com o código principal. Para fins didáticos meu procedimento será apenas uma mensagem.
Então irei criar um módulo conforme imagem abaixo.
Aperte ALT + F11 em sua planilha e clique com botão direito em cima da Plan1 e selecione Inserir > Módulo
Dentro deste módulo (tela branca que irá aparecer) vou inserir minha funcionalidade principal:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub EXECUTAR_AUTOMATICO() 'MEU CÓDIGO PRINCIPAL MsgBox "Olá Bem vindos ao ExceleVBA.com.br" 'CÓDIGO PARA FECHAR PLANILHA APÓS EXECUTAR Application.DisplayAlerts = False Application.Quit End Sub |
Importante: Perceba que nas linhas acima eu programei para o Excel fechar após realizar sua principal função. Isso é necessário para não ficar nenhum processo aberto do Excel.
Etapa 2 dentro do Excel – Código Secundário
Este procedimento irá executar assim que abrir a planilha e é responsável por chamar o procedimento principal.
Então vamos dar dois cliques onde diz EstaPasta_de_trabalho e inserir o código abaixo:
1 2 3 4 5 6 7 8 |
Private Sub Workbook_Open() Call EXECUTAR_AUTOMATICO End Sub |
Percebam que EXECUTAR_AUTOMATICO é o nome do código principal feito na etapa 1.
Agora é necessário salvar a planilha, no meu caso vou chamar de Plan_Automatica.xls
Importante: Sempre que precisei eu usei a extensão .xls. Ao fazer testes com xlsm o agendador não abriu/executou a planilha.
Etapa 3 no Windows – Agendador de Tarefas
Usando o Windows 7, 8 ou 10 você pode apertar no teclado a tecla Windows e digitar “agendador de tarefas”.
Assim que você clicar no “Agendador de Tarefas” irá abrir uma tela como imagem abaixo:
No menu da direita selecione a opção “Criar tarefa…”
Na próxima tela que abrir preencha os dados conforme os campos marcados na imagem abaixo.
Em seguida selecione a guia “Disparadores” e clique em “Novo”. Nesta tela vamos marcar qual a frequência que nossa planilha automática irá abrir.
Então nesta imagem eu selecionei os campos necessários para repetir a execução da planilha uma vez a cada dia iniciando as 23h.
Agora na próxima guia “Ações” vamos indicar o que desejamos abrir. Então clique em “Novo” e demonstre onde a sua planilha está salva!
Observação: Se o seu Windows for 64 bits e o seu excel for 32 bits então no campo do endereço do programa adicione o seguinte código:
%systemroot%\Syswow64\cmd.exe /C “endereço da planilha”
Dúvida ver vídeo explicativo.
A guia seguinte é a “Condições” e esta podemos pular (mas é bom você dar uma olhada).
E a última guia é a “Configurações” e é interessante você olhar o último campo que pergunta o que fazer caso o processo do Excel ainda esteja aberto (lembra que na etapa 1 nós fechamos o Excel)
E com isto finalizamos os passos para programar abertura de planilha automaticamente.
Agora é só curtir e caso tenha dúvidas veja o vídeo!
Vídeo Explicativo