Macros do Planilhas Google

O Planilhas Google permite gravar macros que duplicam uma série específica de interações de interface definidas por você. Depois de gravar uma macro, você pode vincular a um atalho de teclado no formulário Ctrl+Alt+Shift+Number. Você pode usar esse atalho para executar rapidamente as mesmas etapas da macro novamente, geralmente em um local ou dados diferentes. Você também pode ativar a macro no menu Extensões > Macros do Planilhas Google.

Quando você grava uma macro, o app Planilhas Google cria automaticamente uma função do Apps Script (a função de macro) que replica as etapas da macro. A função de macro é adicionada a um projeto do Apps Script vinculado à planilha, em um arquivo chamado macros.gs. Caso já exista um arquivo de projeto vinculado à página com esse nome, a função da macro será anexada a ele. As Planilhas Google também atualizam automaticamente o manifest do projeto de script, registrando o nome e o atalho de teclado atribuídos à macro.

Como cada macro gravada é definida inteiramente no Apps Script, é possível editá-las diretamente no editor do Apps Script. Você pode até escrever macros do zero no Apps Script ou usar funções que já escreveu e transformá-las em macros.

Criação de macros no Apps Script

É possível usar funções escritas no Apps Script como funções de macro. A maneira mais fácil de fazer isso é importando uma função atual do editor do Planilhas Google.

Como alternativa, você pode criar macros no editor do Apps Script seguindo estas etapas:

  1. Na interface das Planilhas Google, selecione Extensões > Apps Script para abrir o script vinculado à planilha no editor do Apps Script.
  2. Escreva a função da macro. As funções de macro não podem ter argumentos nem retornar valores.
  3. Edite o manifesto do script para criar a macro e vinculá-la à função da macro. Atribua um atalho de teclado e um nome exclusivos.
  4. Salve o projeto de script. A macro fica disponível para uso na planilha.
  5. Teste a função de macro na planilha para verificar se ela funciona como esperado.

Editando macros

Para editar macros anexadas a uma planilha, faça o seguinte:

  1. Na interface das Planilhas Google, selecione Extensões > Macros > Gerenciar macros.
  2. Encontre a macro que você quer editar e selecione > Editar macro. Isso abre o editor do Apps Script no arquivo do projeto que contém a função de macro.
  3. Edite a função da macro para alterar o comportamento da macro.
  4. Salve o projeto de script. A macro fica disponível para uso na planilha.
  5. Teste a função de macro na planilha para verificar se ela funciona conforme o esperado.

Como importar funções como macros

Se já houver um script vinculado a uma página, será possível import uma função no script como uma nova macro e atribuir um atalho de teclado a ela. Para fazer isso, edite o arquivo de manifesto e adicione outro elemento à propriedade sheets.macros[].

Como alternativa, siga estas etapas para importar uma função como uma macro da interface do app Planilhas:

  1. Na interface das Planilhas Google, selecione Extensões > Macros > Importar.
  2. Selecione uma função na lista apresentada e clique em Adicionar função.
  3. Selecione para fechar a caixa de diálogo.
  4. Selecione Extensões > Macros > Gerenciar macros.
  5. Localize na lista a função que você acabou de importar. Atribua um atalho de teclado exclusivo à macro. Também é possível mudar o nome da macro aqui. O nome padrão é o da função.
  6. Clique em Atualizar para salvar a configuração da macro.

Estrutura de manifesto para macros

O snippet de exemplo de arquivo de manifesto a seguir mostra a seção de um manifest que define macros do Planilhas Google. A seção sheets do manifesto define o nome e o atalho de teclado atribuídos à macro e o nome da função da macro.

  {
    ...
    "sheets": {
      "macros": [{
        "menuName": "QuickRowSum",
        "functionName": "calculateRowSum",
        "defaultShortcut": "Ctrl+Alt+Shift+1"
      }, {
        "menuName": "Headerfy",
        "functionName": "updateToHeaderStyle",
        "defaultShortcut": "Ctrl+Alt+Shift+2"
      }]
    }
  }

Consulte o recurso de manifesto de macro das Planilhas para mais detalhes sobre como os manifestos de macro das Planilhas são criados.

Práticas recomendadas

Ao criar ou gerenciar macros no Apps Script, é recomendável que você siga as diretrizes a seguir.

  1. As macros têm melhor desempenho quando são leves. Sempre que possível, limite o número de ações que uma macro realiza.
  2. As macros são mais adequadas para operações de roteamento que precisam ser repetidas com frequência com pouca ou nenhuma configuração. Para outras operações, considere usar um item de menu personalizado.
  3. Lembre-se sempre de que os atalhos de teclado de macro precisam ser exclusivos, e uma determinada planilha só pode ter dez macros com atalhos por vez. Todas as macros adicionais só podem ser executadas no menu Extensões > Macros.
  4. As macros que fazem alterações em uma única célula podem ser aplicadas a um intervalo de células. Para isso, primeiro selecione o intervalo completo e, em seguida, ative a macro. Isso significa que muitas vezes não é necessário criar macros que dupliquem a mesma operação em um intervalo predefinido de células.

O que não é possível fazer

Há algumas restrições sobre o que é possível fazer com macros:

Usar macros fora de scripts vinculados

As macros são definidas em scripts vinculados a planilhas específicas das Planilhas Google. As definições de macros são ignoradas se definidas em um script independente ou app da Web.

Definir macros em complementos do Planilhas

Não é possível distribuir definições de macro usando um complemento do Planilhas (em inglês). Todas as definições de macros em um projeto de complemento do Planilhas são ignoradas pelos usuários desse complemento.

Distribuir macros em bibliotecas de script

Não é possível distribuir definições de macros usando as bibliotecas do Apps Script.

Usar macros fora das Planilhas Google

As macros são um recurso exclusivo das Planilhas Google e não estão disponíveis nos apps Documentos, Formulários ou Apresentações Google.