Como abrir planilha Excel automaticamente e executar macro VBA

Como abrir planilha Excel automaticamente e executar macro VBA

Veja como abrir uma planilha Excel automaticamente e executar uma macro VBA sem que você faça nada.

Algumas vezes nós temos tarefas que já estão automatizadas, mas ainda exigem que alguém abra uma planilha e faça alguma ação, por exemplo, abrir, atualizar valores e mandar e-mail.

Estas ações podem estar todas em VBA, mas como fazemos para que eu nem tenha que abrir a planilha, para que ela abra automaticamente e execute o VBA que está programado na sua abertura?

Para isso usaremos o Agendador de tarefas do Windows e no nosso exemplo iremos abrir uma planilha de envio de e-mail de Feliz Aniversário.

Abrir planilha automaticamente no Excel

Para que uma pasta de trabalho do Excel seja aberta automaticamente m um determinado horário podemos usar o agendador de tarefas.

Com ele é possível programarmos o horário e a frequência com que a planilha será aberta e tudo será controlado pelo próprio Windows.

Vamos criar um agendamento para abrir uma planilha, veja passo-a-passo como fazer:

  1. Na barra de tarefas do Windows digite Agendador, será exibido então o programa Agendador de Tarefas e clique sobre ele.
    Abertura automática de planliha Excel 1
  2. Na tela que segue você tem o gerenciador de tarefas agendadas do Windows. Nele terá tarefas de sistema agendadas e você pode agendas as suas também, e é o que faremos para abrir a planilha do Excel e executar uma macro na sua abertura.
    Clique em Ação->Criar Tarefa…
  3. Na tela que segue é aonde iremos começar a configuração da nossa tarefa. Preencha os campos em vermelho com o nome da tarefa, descrição, e marque as opções Executar estando o usuário conectado ou não e Executar com privilégios mais altos. Garantindo assim a execução da macro no Excel. 
  4. Em Disparadores é aonde iremos criar o agendamento de em que horário será executada a tarefa. Clique no botão Novo… para abrir a tela e criar o disparador.
  5. No novo disparador selecione as opções Iniciar a tarefa: Em um agendamento, marque a opção Diário e marque Sinc. fusos horários, coloque repetir a cada x dias, no nosso exemplo todo dia, então 1. E principalmente marque Habilitado para ligar o agendamento da abertura da planilha em Excel.
  6. Na tela seguinte então ficou o disparador marcado para executar diariamente e o Status ficou Habilitado nesta tela, confirme se ficou assim a sua tela.
  7. Em Ações clique em Nova Ação.
    Marque a opção em Ação Iniciar um programa e em Programa/script clique no botão Procurar e selecione a planilha no seu computador.
    Se o seu Windows for 64 bits e o Excel 32 bits você deverá inserir %systemroot%Syswow64cmd.exe /C antes do endereço do arquivo.

  8. Em Condições desmarque a opção Iniciar a tarefa somente se o computador estiver ligado na rede elétrica, marque as opções Reativar o computador para executar esta tarefa e marque a opção Iniciar somente se a seguinte conexão de rede estiver disponível e selecione Qualquer conexão.
  9. Em Configurações marque as opções de Permitir que a tarefa seja executada por demanda, Executar a tarefa o mais cedo possível após uma inicialização agendada ter sido perdida, Se ocorrer falha na tarefa reiniciar a cada 1 minuto e altere para 3 vezes ou até um número maior para tentar novamente se falhar.
    Marque também a opção Se a tarefa em execução não parar quando solicitado, forçar a interrupção, e Executar uma nova instância em paralelo.
  10. Por último clique em OK e coloque a sua senha de login do usuário do Windows para confirmar a criação do agendamento.
  11. Ao fechar o agendamento estará disponível na lista, pode encontrar ele pelo nome.
  12. Para Desativar o agendamento definitivamente, clique sobre o agendamento ele bastando clicar em Disparadores e depois desmarcando a opção Habilitado

Alterar planilha para executar um VBA ao abrir

Na planilha Excel você pode coloca rum código VBA para ser executado na sua abertura.

No nosso exemplo temos uma planilha que envia e-mail de Feliz Aniversário ao ser aberta.

Para isso incluímos no método Workbook_Open  o código que chama o procedimento de enviar e-mail:

Private Sub Workbook_Open()
    lsEnviar
End Sub

Desta forma ao abrir a planilha manualmente ou pelo agendador automático o procedimento será executado sem nenhuma intervenção.

Fechar a planilha ao executar o procedimento

Para fechar o programa após a execução você pode colocar o seguinte código

ActiveWorkbook.Close vbYes

Este código fará com que a pasta de trabalho seja salva e fechada imediatamente após a execução do procedimento.

Download

Realize o download do arquivo deste exemplo e da vídeo-aula acima neste botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.

Baixe a planilha

Curso Excel Completo – Do Básico ao VBA

Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo:

Sair da versão mobile