La «solution de bibliothèque» est en fait votre meilleur choix. Ce n'est pas aussi compliqué que cela puisse paraître, mais cela prend un peu de travail ponctuel.
Vous créez d'abord votre script dans une feuille de calcul (appelons-la la feuille de calcul principale ).
Enregistrez une version du script en cliquant sur Fichier → Gérer les versions dans l'éditeur de script et donnez un nom à votre version:
Fermez cette boîte de dialogue et accédez à Fichier → Propriétés du projet . Ici, trouvez la clé Project , qui est une combinaison de caractères extrêmement aléatoire:
Copiez ou notez la clé du projet.
Lorsque vous avez créé une nouvelle feuille de calcul et que vous souhaitez réutiliser le script, accédez à l'éditeur de script et cliquez sur Ressources → Bibliothèques (si vous n'avez pas enregistré votre nouveau script, il vous sera demandé de le faire maintenant).
Dans le champ Rechercher une bibliothèque , collez la clé de projet du projet maître (1) et cliquez sur Sélectionner (2):
Cela remplira la liste avec votre script principal . Donnez-lui un nom plus convivial (3) et activez le mode de développement (4) (cela vous permettra de déboguer la bibliothèque). Sélectionnez la version la plus récente de votre script (5).
Vous pouvez maintenant utiliser les fonctions de votre bibliothèque incluse dans votre nouveau script. Ajoutez simplement tout nom de fonction au nom que vous avez spécifié en (3), de sorte que si vous avez identifié votre bibliothèque comme MyLibrary
et que votre bibliothèque possède une fonction myFunction
que vous souhaitez appeler, vous appelez MyLibrary.myFunction()
.
Lorsque vous souhaitez mettre à jour votre bibliothèque, il vous suffit de le faire et d'enregistrer le fichier. Tous les scripts qui dépendent de la bibliothèque verront le code de bibliothèque mis à jour.
Je viens d'essayer cet exercice comme preuve de concept:
- Configurer une bibliothèque avec une fonction:
function myFunction() {return "Foo"}
- Incluez-le dans un autre script, identifiant la bibliothèque comme
MyLibrary
- Appelé la fonction de bibliothèque avec
Logger.log(MyLibrary.myFunction)
- Le journal affiche
Foo
- Edité la bibliothèque:
function myFunction() {return "Bar"}
- Réexécutez le script inclus, le journal affiche maintenant
Bar
C'est donc assez simple après la configuration initiale. Voir ce dossier sur mon Google Drive pour un exemple réel.
Consultez également la documentation Google pour les bibliothèques .