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 associé 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 détachés du fichier auquel ils sont liés et qu'ils disposent de quelques privilèges spécifiques 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 associés à Google Sheets, Docs, Slides ou Forms peuvent également devenir des applications Web, bien que cela soit rare.
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 à 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 à 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:
getActiveSpreadsheet()
,getActiveDocument()
,getActivePresentation()
etgetActiveForm()
permettent aux scripts liés de faire référence à 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, boîtes de dialogue et barres latérales personnalisés.- Dans Google Sheets,
getActiveSheet()
,getActiveRange()
etgetActiveCell()
permettent au script de déterminer la feuille active, 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()
permettent au script de 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 sur l'extension de Google Sheets ou le guide sur l'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.
Add-ons
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 publier votre script en tant que module complémentaire afin que d'autres utilisateurs puissent l'installer depuis la plate-forme de téléchargement dédiée.
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 fichier est ouvert par un utilisateur autorisé à le modifier. 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 de Sheets, telles que AVERAGE
ou SUM
, à la différence près que vous définissez le comportement de la fonction personnalisée.
Accès aux scripts liés
Seuls les utilisateurs autorisés à modifier un conteneur peuvent exécuter son script lié. Les collaborateurs qui disposent uniquement d'un accès en lecture ne peuvent pas ouvrir l'éditeur de scripts. En revanche, s'ils font une copie du fichier de conteneur, ils en deviennent propriétaires et peuvent voir 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.