Les scripts peuvent étendre certains produits Google en ajoutant des éléments d'interface utilisateur qui, lorsqu'ils sont cliqués, exécutent une fonction Google Apps Script. L'exemple le plus courant consiste à exécuter un script à partir d'un élément de menu personnalisé dans Google Docs, Google Sheets, Google Slides ou Google Forms. Toutefois, les fonctions de script peuvent également être déclenchées en cliquant sur des images et des dessins dans Sheets.
Menus personnalisés dans Docs, Sheets, Slides ou Forms

Apps Script peut ajouter de nouveaux menus dans Docs, Sheets, Slides ou Forms, chaque élément de menu étant associé à une fonction dans un script. (Dans Forms, les menus personnalisés ne sont visibles que par un éditeur qui ouvre le formulaire pour le modifier, et non par un utilisateur qui l'ouvre pour y répondre.)
Seuls les scripts associés peuvent créer des menus. Pour afficher le menu lorsque l'utilisateur ouvre un fichier, écrivez le code du menu dans une fonction onOpen.
L'exemple suivant montre comment ajouter un menu avec un élément, suivi d'un séparateur visuel, puis d'un sous-menu contenant un autre élément. Lorsque l'utilisateur sélectionne l'un des éléments de menu, une fonction correspondante ouvre une boîte de dialogue d'alerte. Pour en savoir plus sur les types de boîtes de dialogue que vous pouvez ouvrir, consultez le guide des boîtes de dialogue et des barres latérales.
function onOpen() {
const ui = SpreadsheetApp.getUi();
// Or DocumentApp, SlidesApp or FormApp.
ui.createMenu('Custom Menu')
.addItem('First item', 'menuItem1')
.addSeparator()
.addSubMenu(ui.createMenu('Sub-menu')
.addItem('Second item', 'menuItem2'))
.addToUi();
}
function menuItem1() {
SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
.alert('You clicked the first menu item!');
}
function menuItem2() {
SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
.alert('You clicked the second menu item!');
}
Un document, une feuille de calcul, une présentation ou un formulaire ne peuvent contenir qu'un seul menu portant un nom donné. Si le même script ou un autre script ajoute un menu portant le même nom, le nouveau menu remplace l'ancien. Vous ne pouvez pas supprimer les menus lorsque le fichier est ouvert. Toutefois, vous pouvez écrire votre fonction onOpen pour ignorer le menu à l'avenir si une certaine propriété est définie.
Les modules complémentaires d'éditeur peuvent également comporter des éléments de menu, mais ils utilisent des règles spéciales pour leur définition.
Images et dessins cliquables dans Sheets

Vous pouvez également attribuer une fonction Apps Script à une image ou un dessin dans Sheets, à condition que le script soit associé à la feuille de calcul. L'exemple suivant montre comment configurer cela.
- Dans Sheets, sélectionnez l'élément de menu Extensions > Apps Script pour créer un script lié à la feuille de calcul.
- Supprimez tout code éventuellement présent dans l'éditeur de scripts, puis collez dans ce dernier le code ci-dessous.
function showMessageBox() {
SpreadsheetApp.getUi().alert('You clicked it!');
}
- Revenez à Sheets et insérez une image ou un dessin en sélectionnant Insérer > Image ou Insérer > Dessin.
- Après avoir inséré l'image ou le dessin, cliquez dessus. Un petit sélecteur de menu déroulant s'affiche en haut à droite. Cliquez dessus, puis sélectionnez Attribuer un script.
- Dans la boîte de dialogue qui s'affiche, saisissez le nom de la fonction Apps Script que vous souhaitez exécuter, sans parenthèses (dans ce cas,
showMessageBox). Cliquez sur OK. - Cliquez à nouveau sur l'image ou le dessin. La fonction s'exécute désormais.
L'exécution du script n'est déclenchée que lorsque l'utilisateur clique sur l'image ou dessine dans un navigateur Web. Le script ne s'exécute pas si l'utilisateur clique sur l'image ou le dessin sur mobile.