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é s'appelle un "conteneur". Les scripts liés se comportent généralement comme des scripts autonomes, sauf qu'ils n'apparaissent pas dans Google Drive. Ils ne peuvent pas être détachés du fichier auquel ils sont associés et ils obtiennent des droits spéciaux sur le fichier parent.
Notez que les scripts peuvent également être associés à Google Sites, mais qu'ils sont presque toujours déployés en tant qu'applications Web. Les scripts associés à 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 et 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, 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()
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 des barres latérales. Gardez toutefois à l'esprit 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 que vous souhaitez 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 à partir du magasin.
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 disposant d'un accès 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 dans 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 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 ne disposent que d'un accès en lecture ne peuvent pas ouvrir l'éditeur de scripts. Toutefois, s'ils font une copie du fichier parent, ils deviennent propriétaires de cette copie et peuvent voir et exécuter une copie du script.