Como exportar / importar um script do Google Apps como um arquivo para uma nova planilha?


13

Receio que isso possa ter uma resposta óbvia, mas tenho batido a cabeça com isso e não consigo encontrá-lo!

Ao criar uma nova planilha, podemos facilmente criar um script nela. Eu gosto de chamar isso de macro . Mas quando crio uma planilha ainda mais nova, não consigo encontrar uma boa maneira de obter minha macro !

Eu só quero salvar um arquivo e reutilizá-lo à vontade, sem precisar copiar, colar e renomear. Meu objetivo aqui é compartilhar o script e quem vai usá-lo não é um programador. Isso tem que ser muito simples!

Alguma ideia?

Respostas:


9

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:

Captura de tela da caixa de diálogo Gerenciar versões

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:

Captura de tela da caixa de diálogo Project Proerties

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):

Captura de tela da caixa de diálogo Gerenciar bibliotecas

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 MyLibrarye sua biblioteca possui uma função myFunctionque 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 .


2
Eu acho que não estava claro o suficiente na minha pergunta (eu tinha um link mostrando como fazer as bibliotecas, eu li todos os meus links e muito mais. Acho que li todos os documentos) e omiti um info, desculpe por isso. Eu sei que não é " tão complicado assim " fazê-lo, mas meu principal objetivo aqui é compartilhar o script e isso é bastante complicado para quem eu gostaria de compartilhar. Simples tem que ser simples. Vou editar a pergunta. Mas obrigado por toda a consideração! Além disso, não consigo ver nada na sua pasta. Apenas 2 arquivos vazios. Mesmo depois de abri-los.
Cregox 7/03

Ah, eu perdi totalmente o seu link para a já excelente resposta de @ JacobJanTuinstra sobre como criar bibliotecas. Foi mal. Você leu os documentos, sem dúvida. Mas não tenho certeza se entendi o que você quer dizer com compartilhamento , então. Deseja compartilhar seu script com outro usuário?
Vidar S. Ramdal

Quanto aos arquivos da minha pasta, sim, eles parecem estar em branco. Mas isso ocorre porque as planilhas estão em branco - não há nada nelas, exceto os scripts. Para usar minhas planilhas, você deve clicar no link acima, clicar em um dos arquivos (em branco), abrir e , em seguida, Arquivo -> fazer uma cópia , para que você tenha uma cópia em seu próprio Google Drive. Isso também deve copiar os arquivos de script anexados.
Vidar S. Ramdal

Ok, depois de fazer uma cópia, finalmente pude ver o script. Ainda não há nada simples lá. Sim, compartilhe com outro usuário. Copiar e colar funciona bem, e é simples o suficiente, mas é muito irritadiço. Ainda tenho que colar em um arquivo e a outra cópia do usuário! Eu mal posso entender por que não podemos usar arquivos ...
cregox

2

Resposta curta

Publique seu script como um complemento. Lembre-se de que você pode torná-lo público, não listado ou privado, compartilhado com um grupo do Google.

Explicação

A Galeria de scripts foi substituída por Complementos adicionados em 2014.

Para publicar um complemento, você deve pagar uma taxa de 5 dólares para poder publicar um complemento na Chrome Web Store. Se você tornar o complemento público, ele deverá ser revisado pelo Google antes de disponibilizá-lo ao público, mas se você o tornar restrito a um grupo do Google, ele estará disponível após alguns minutos.

Uma alternativa para publicar seu complemento é usar o recurso de teste de complemento, mas isso tem algumas limitações, pois não é possível "testar" os gatilhos que, dependendo do seu script, podem ser uma limitação significativa ou não.

Usar um complemento é melhor do que usar uma biblioteca, pois as bibliotecas podem diminuir a velocidade da planilha, mas principalmente porque, do ponto de vista do usuário final, é mais fácil usar o add e usá-lo do que adicionar um projeto de script, adicione o código necessário para chamar a biblioteca e adicionar a própria biblioteca.

Uma vantagem para o criador do complemento pode ser o fato de que os usuários do complemento não poderão visualizar o código do complemento a partir do próprio complemento.

Por outro lado, requer algumas imagens com requisitos específicos de formato e tamanho que podem ser considerados muito complicados para certos casos de uso e, finalmente, podemos considerar que copiar / colar nosso script ou copiar a planilha (documento / formulário / apresentação) é a solução direta para esses casos de uso.

Referências


2

Você deve experimentar o Google Clasp, que está falando

O ID da unidade de um arquivo pai ao qual o projeto de script criado está vinculado

Não tentei, mas parece que existem comandos para recuperar o código de script do projeto, criar e atualizar:

  • Pull: busca um projeto a partir de um ID de script fornecido ou salvo. Atualiza arquivos locais com o projeto Apps Script
  • Push: Force grava todos os arquivos locais no servidor de gerenciamento de scripts
  • Criar: cria um novo projeto de script (com o ID pai do projeto opcional. O ID da unidade de um arquivo pai ao qual o projeto de script criado está vinculado)

2
obrigado por esta contribuição, Masson! Acho isso bastante interessante, mesmo que não seja possível testá-lo tão cedo. :) em qualquer caso, você poderia elaborar mais especificamente sobre como resolver a questão com clasp? é uma boa idéia manter as respostas independentes para referência futura, caso os links sejam quebrados ou alterados de maneira significativa.
precisa saber é

1

A meio caminho é baixar os arquivos do seu projeto.

Solução # 1

Eu encontrei uma ferramenta para conseguir isso:

http://googleappsscriptexport.trototype.com/ por kerem tiryaki

  • Você precisa dar acesso à sua unidade
  • para encontrar o script, você precisará copiar a chave de um script:

insira a descrição da imagem aqui

Desvantagem

O GoogleAppsScriptExporterForAll agora tem acesso à sua Conta do Google (é necessário excluí-la manualmente)

Solução # 2

Também uso esse complemento para integrar os scripts Git-Hub e Google Sheets: https://chrome.google.com/webstore/detail/google-apps-script-github/lfjcgcmkmjjlieihflfhjopckgpelofo

Após a instalação deste complemento, você precisa:

  1. Faça login e envie seu código ao GitHub (o botão aparecerá no editor)
  2. Faça o download do seu código no GitHub, se necessário.
  3. Você também pode extrair o projeto do GitHub (o usuário médio não fará isso).

Desvantagem

O usuário ainda precisa abrir o Editor de scripts e copiar o código.

Vantagens

  1. Implementação Quique. Não precisa jogar com complementos
  2. Fácil para um usuário copiar um script, em vez de vários arquivos.

Próximos passos

Os próximos passos para mim serão:

  1. Mesclar meus *.jsarquivos em um arquivo de linha única. Utilizado com sucesso https://jscompress.com/ =)
  2. Compartilhando o arquivo com os usuários (postando o script no GitHub ou enviando-os por e-mail diretamente)
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.