A "solução da biblioteca" é realmente a sua melhor aposta. Não é tão complicado quanto parece, mas é preciso um pouco de trabalho único.
Primeiro, você cria seu script em uma planilha (vamos chamá-la de planilha mestre ).
Salve uma versão do script clicando em Arquivo → Gerenciar versões no editor de script e dê um nome à sua versão:
Feche esta caixa de diálogo e vá para Arquivo → Propriedades do projeto . Aqui, encontre a chave do projeto , que é uma combinação de caracteres muito aleatória:
Copie ou anote a chave do projeto.
Quando você criar uma nova planilha e desejar reutilizar o script, vá para o editor de scripts e clique em Recursos → Bibliotecas (se você não salvou seu novo script, será solicitado que você o faça agora).
No campo Find a Library , cole a chave do projeto Master (1) e clique em Select (2):
Isso preencherá a lista com seu script mestre . Dê um nome mais amigável (3) e ative o Modo de Desenvolvimento (4) (isso permitirá que você depure a biblioteca). Selecione a versão mais recente do seu script (5).
Agora você pode usar funções da sua biblioteca incluída no seu novo script. Anexe previamente qualquer nome de função com o nome que você especificou em (3), para que, se você identificou sua biblioteca como MyLibrary
e sua biblioteca possui uma função myFunction
que você deseja chamar, você chama MyLibrary.myFunction()
.
Quando você deseja atualizar sua biblioteca, basta fazê-lo e salvar o arquivo. Qualquer script que dependa da biblioteca verá o código atualizado da biblioteca.
Eu apenas tentei esse exercício como uma prova de conceito:
- Configure uma biblioteca com uma função:
function myFunction() {return "Foo"}
- Inclua-o em outro script, identificando a biblioteca como
MyLibrary
- Chamado a função de biblioteca com
Logger.log(MyLibrary.myFunction)
- O log exibe
Foo
- Editou a biblioteca:
function myFunction() {return "Bar"}
- Repetindo a execução do script incluindo, o log agora exibe
Bar
Portanto, é realmente bastante simples após a configuração inicial. Veja esta pasta no meu Google Drive para um exemplo real.
Consulte também a documentação do Google para bibliotecas .