Un script est associé à 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 associé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 associés et qu'ils bénéficient de quelques privilèges 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 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 depuis le 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 script. Pour rouvrir le script ultérieurement, procédez de la même manière ou ouvrez-le depuis le tableau de bord Apps Script.
Méthodes spéciales
Les scripts liés peuvent appeler certaines 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 associé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 de calcul 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,
getActiveTab()
,getCursor()
etgetSelection()
permettent au script de déterminer l'onglet actuel de l'utilisateur, la position de son curseur ou le texte sélectionné.setActiveTab(tabId)
,setCursor(position)
etsetSelection(range)
permettent au script de modifier ces sélections.
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 associé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. 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.
Déclencheurs
Les scripts associés peuvent utiliser des déclencheurs simples, comme 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 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, comme AVERAGE
ou SUM
, à la différence que vous définissez le comportement de la fonction personnalisée.
Accès aux scripts associés
Seuls les utilisateurs autorisés à modifier un conteneur peuvent exécuter son script associé. Les collaborateurs qui disposent d'un accès en lecture seule ne peuvent pas ouvrir l'éditeur de script. Toutefois, s'ils font une copie du fichier conteneur, ils en deviennent propriétaires et peuvent voir et exécuter une copie du script.
Pour savoir comment partager le fichier conteneur d'un script, consultez Partager des fichiers depuis Google Drive.