J'ai une feuille Google qui comprend un script qui doit être exécuté lorsque vous cliquez sur un bouton. La méthode recommandée pour ce faire (pour autant que je sache) est d'insérer une image, puis de joindre un script à l'image en question.
Cela fonctionne très bien tant que j'ouvre la feuille sur mon bureau. Cependant, si j'ouvre la feuille dans l'application Android Google Sheet, l'image n'apparaît tout simplement pas. Pour autant que je sache, ce (manque de) comportement n'est documenté nulle part, mais j'ai trouvé un certain nombre de personnes ayant le même problème.
Je me demandais comment contourner ce problème. Ai-je oublié quelque chose d'évident qui rendra mes images visibles dans l'application Android? Ou existe-t-il un autre moyen simple d'ajouter un déclencheur de script à une feuille qui fonctionnera sur mobile?
Réponses:
Il semble que ni les images ni les éléments de menu personnalisés ne fonctionnent actuellement dans l'application Sheets Android. Je suggère de créer un "menu de fonctions" dans la feuille de calcul. Par exemple:
onEdit
(simple déclencheur), exécutée à chaque édition, vérifie si le contenu de B1 a changé. Si c'est le cas, il exécute la fonction appropriée.Voici mon code, avec deux fonctions incluses à des fins de démonstration:
La condition
/^\w+$/.test(e.value)
est juste de vérifier que nous avons une chaîne non vide et que nous n'exécutons pas de code malveillant que quelqu'un a mis en quelque sorte dans la cellule B1. Une fois la fonction invoquée avecthis[e.value]();
(this
fait référence à l'objet global et contient les noms de fonction), le contenu de B1 est effacé. On peut choisir d'exécuter à nouveau la même fonction, ou une autre.À titre de preuve de concept, voici des captures d'écran de l'application. Capture d'écran 1: sélection d'une fonction
Capture d'écran 2: après l'exécution de la fonction
Références
la source
onEdit
déclencheur simple par un déclencheur installable, qui s'exécute avec l'autorisation de l'utilisateur qui a installé le déclencheur.