Un script est lié à un fichier Google Sheets, Docs, Slides ou Forms s'il a été créé à partir de ce document plutôt qu'en tant que script autonome. Le fichier auquel un script lié est joint est appelé "conteneur". Les scripts liés se comportent généralement comme des scripts autonomes, sauf qu'ils n'apparaissent pas dans Google Drive, qu'ils ne peuvent pas être dissociés du fichier auquel ils sont liés et qu'ils obtiennent quelques droits spéciaux sur le fichier parent.
Notez que les scripts peuvent également être liés à Google Sites, mais qu'ils sont presque toujours déployés en tant qu'applications Web. Les scripts liés à Google Sheets, Docs, Slides ou Forms peuvent également devenir des applications Web, bien que cela ne soit pas courant.
Créer un script lié
Google Docs, Sheets ou Slides
Pour créer un script lié dans Google Docs, Sheets ou Slides, ouvrez un document dans Docs, une feuille de calcul dans Sheets ou une présentation dans Slides, puis cliquez sur Extensions > Apps Script. Pour rouvrir le script ultérieurement, procédez de la même manière ou ouvrez le script à partir du tableau de bord Apps Script.
Google Forms
Pour créer un script lié dans Google Forms, ouvrez un formulaire, puis cliquez sur Plus > Éditeur de scripts. Pour rouvrir le script ultérieurement, procédez de la même manière ou ouvrez le script à partir du tableau de bord Apps Script.
Méthodes spéciales
Les scripts liés peuvent appeler quelques méthodes que les scripts autonomes ne peuvent pas appeler:
getActiveSpreadsheet()
,getActiveDocument()
,getActivePresentation()
etgetActiveForm()
permettent aux scripts liés de se référer à leur fichier parent sans faire référence à l'ID du fichier.getUi
permet aux scripts liés d'accéder à l'interface utilisateur de leur fichier parent pour ajouter des menus, des boîtes de dialogue et des barres latérales personnalisés.- Dans Google Sheets,
getActiveSheet()
,getActiveRange()
etgetActiveCell()
permettent au script de déterminer la feuille actuelle de l'utilisateur, la plage de cellules sélectionnée ou la cellule individuelle sélectionnée.setActiveSheet(sheet)
etsetActiveRange(range)
permettent au script de modifier ces sélections. - Dans Google Docs,
getCursor()
etgetSelection()
laissez le script déterminer la position du curseur de l'utilisateur ou du texte sélectionné.setCursor(position)
etsetSelection(range)
permettent au script de modifier ces emplacements.
Pour en savoir plus, consultez le guide d'extension de Google Sheets ou le guide d'extension de Google Docs.
Menus, boîtes de dialogue et barres latérales personnalisés
Les scripts liés peuvent personnaliser Google Sheets, Docs et Forms en ajoutant des menus personnalisés et des boîtes de dialogue ou barres latérales. Toutefois, n'oubliez pas qu'un script ne peut interagir avec l'interface utilisateur que pour l'instance actuelle d'un fichier ouvert. Autrement dit, un script lié à un document ne peut pas affecter l'interface utilisateur d'un autre document.
Modules complémentaires
Les modules complémentaires s'exécutent dans Gmail, Google Sheets, Docs, Slides et Forms. Si vous avez développé un script lié ou autonome et que vous souhaitez le partager avec le monde entier, Apps Script vous permet de publish votre script en tant que module complémentaire afin que d'autres utilisateurs puissent l'installer à partir de la plate-forme de modules complémentaires.
Déclencheurs
Les scripts liés peuvent utiliser des déclencheurs simples tels que la fonction spéciale onOpen()
, qui s'exécute automatiquement chaque fois qu'un utilisateur ouvre un fichier en modification. Comme tous les types de scripts, ils peuvent également utiliser des déclencheurs installables.
Fonctions personnalisées
Une fonction personnalisée est une fonction d'un script lié à Google Sheets que vous appelez directement à partir d'une cellule à l'aide de la syntaxe =myFunctionName()
. Les fonctions personnalisées sont donc semblables aux centaines de fonctions intégrées dans Sheets comme AVERAGE
ou SUM
, si ce n'est que vous définissez leur comportement.
Accès aux scripts liés
Seuls les utilisateurs autorisés à modifier un conteneur peuvent exécuter son script lié. Les collaborateurs qui ne disposent que d'un accès en lecture ne peuvent pas ouvrir l'éditeur de scripts. Toutefois, s'ils créent une copie du fichier de conteneur, ils en deviennent le propriétaire, et peuvent afficher et exécuter une copie du script.
Pour savoir comment partager le fichier de conteneur d'un script, consultez Partager des fichiers via Google Drive.