Jump to content

Como agendar a execução de scripts nas planilhas do google


Caio Silva

Postagens Recomendadas

Nas planilhas do google podemos criar macros ou scripts para automatizar tarefas simples e repetitivas, e além disso, também é possível agendar a execução dessas macros de acordo com a periodicidade desejada, dessa forma conseguimos automatizar totalmente o processo de rotinas simples e tarefas repetitivas, fazendo assim um uso melhor do nosso tempo. O intuito deste texto é mostrar como podemos realizar o agendamento de macros/scripts dentro das planilhas do google.

 

Rotina que será automatizada

 

Para mostrar como realizar o agendamento, vou utilizar o seguinte código como exemplo:

function historico() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Dados');

  var dados = sheet.getRange("A:A").getValues();
  var ultimaLinha = dados.filter(String).length + 1;

  sheet.getRange(ultimaLinha,1).setFormula('=TODAY()');
  sheet.getRange(ultimaLinha,2).setFormula('=QUERY(Base!A1:B;"SELECT COUNT(A) LABEL COUNT(A) \'\'")')

  sheet.getRange("A2:B").activate();
  sheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.DOWN).activate();
  sheet.getRange('A2:B').copyTo(sheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);

}

 

O objetivo do script acima é automatizar uma rotina onde diariamente deve ser preenchido na aba Dados da planilha as seguintes informações: data do dia atual (na coluna A e utilizando a fórmula =HOJE()), e a contagem de clientes ativos (utilizando a query acima que puxa da base de dados). O script procura pela próxima linha vazia e preenche as informações na linha em questão. Além disso, após escrever as informações, o script remove as fórmulas e mantém apenas os valores, pois de um dia pro outro as informações da base de dados podem mudar e alterar as informações preenchidas anteriormente.

 

Como agendar a execução?

Com a planilha aberta, podemos acessar o ambiente de desenvolvimento das planilhas clicando em: Extensões -> Apps Script.

Ao entrar no ambiente, do lado esquerdo da tela, podemos ir até a aba de Acionadores, que é onde iremos configurar a execução do nosso script. Uma vez nessa aba basta clicar em Adicionar acionador.

image.png

 

Uma tela de configurações irá abrir, onde iremos escolher qual função queremos executar, qual a implantação, a origem do evento e o tipo de evento.

image.png

Sobre cada um desses pontos:

  • Função: É o nome da função que foi criada no código, ao abrir a lista todas as funções do seu código irão aparecer, a partir daí é só escolher a desejada;
  • Implantação: Caso o seu código tenha sido implantado (no caso de aplicativos web), basta selecionar qual das implantações você deseja executar, porém, não é necessário ter uma implantação para realizar esse tipo de agendamento.
  • Origem: Nessa etapa podemos escolher entre as seguintes opções:
    • Da planilha: Onde o gatilho do evento será alguma ação da planilha, seja ao abrir, ao alterar, ao editar ou ao enviar um formulário;
    • Baseado no tempo: Onde podemos selecionar alguma periodicidade para a execução do script, seja em horas, dias, meses, etc;
    • Da agenda: Aqui o gatilho da execução seria a atualização de uma agenda;
  • Tipo do evento: De acordo com a opção escolhida acima as opções desse campo irão alterar, mas aqui é basicamente onde o gatilho da execução é selecionado, caso a origem escolhida seja a planilha, por exemplo, aqui você selecionaria se a execução irá ocorrer ao abrir ou ao editar a planilha;

Além dos pontos citados acima, do lado direito também é possível configurar notificações para o caso da falha do script, pode-se escolher o intervalo de tempo de notificações para o responsável.

Para a rotina citada acima que será automatizada, os campos de configurações ficaram assim: 

image.png

 

No caso, como se trata de uma rotina diária, a execução será realizada todo dia no horário selecionado.

Após clicar em salvar, o agendamento deve aparecer na lista de acionadores, dessa forma o processo é concluído e a rotina já está automatizada:

image.png

 

E é isso, espero que essa funcionalidade possa ser útil para quem quiser atualizar alguma tarefa simples com o uso de planilhas 😀

Se tiver dúvidas ou contribuições, deixe um comentário aqui no post. Obrigado! 😁

 

 

 

  • Curtir 2
Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...