Como usar o agendador de tarefas do Windows para rodar uma macro

O Excel-VBA tem em seu ponto forte exatamente automatizar tarefas rotineiras.

 

Como programar para este executar a mesma tarefa, todos os dias, num determinado horário?

 

Uma forma muito boa de fazer isto é utilizando o agendador de tarefas do Windows.

Digamos que queremos executar uma macro assim:


Sub macroAExecutar()

Range("a1") = "Executado às " & DateTime.Now()

End Sub

 

A primeira coisa a fazer é chamar esta macro a ser executada na abertura do arquivo – na função workbooks_open().

Wb_open.JPG

 


Private Sub Workbook_Open()

Call macroAExecutar

'ThisWorkbook.Close

End Sub

A seguir, configurar o agendador de tarefas do windows para abrir este arquivo.

 

Criar tarefa, dar um nome.

Definir a frequência e horários em que a ação será disparada.

Agendar_horario.JPG

Definir o nome do arquivo a ser aberto.

Agendar_acao.JPG

 

É isso.

 

Alguns cuidados:

 

Habilitar macros por default – senão o excel vai pedir confirmação de macros, o que exige intervenção manual.

 

Desabilitar mensagens na macro (aquelas do tipo: “Deseja salvar antes de fechar?”)


Application.DisplayAlerts = false

O computador deve estar ligado, para executar a tarefa. Mas ele pode estar bloqueado, sem problemas.

 

 

 

Arnaldo Gunzi.


Ideias técnicas com uma pitada de filosofia: https://ideiasesquecidas.com

Ferramentas Excel-VBA: https://ferramentasexcelvba.wordpress.com/

Publicidade

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s