web-dev-qa-db-fra.com

Fonction de déclenchement lorsque IMPORTRANGE () est mis à jour

J'ai une feuille (feuille-A) qui obtient ses informations d'une autre feuille (feuille-B) en utilisant IMPORTRANGE(). Dans sheet-B j'ai une fonction qui formate les cellules en fonction de la valeur a de la ligne . Pour le moment, cette fonction est exécutée sur une minuterie car IMPORTRANGE() ne déclenche pas d'événement OnEdit ni OnChange.

Je me demande s’il existe un autre mécanisme pour déclencher un événement sur feuille-B à partir de feuille-A afin que je puisse exécuter la fonction à la demande 1 et pas chaque minute. Parfois, il peut être nécessaire d’exécuter la fonction toutes les quelques secondes et j’aimerais garder la mise en forme quelque peu interactive, d’autres fois, la feuille peut ne pas être utilisée pendant des semaines et je n’ai pas besoin de l’exécuter toutes les minutes.

1: Par "à la demande", j'entends exécuter ma fonction lorsque la valeur d'une feuille à partir d'un fichier de feuille de calcul externe change.

En d'autres termes, je cherche à automatiser le déclencheur de la fonction. Par exemple, dans mon cas, l'utilisateur n'a pas accès à l'interface utilisateur lors de l'affichage de la feuille-B et il est en train de modifier la feuille-A à partir d'un autre ordinateur. Dans mon cas, le seul moyen que j’ai trouvé pour que cela fonctionne est d’utiliser le déclencheur temporel.

J'ai jeté un œil à la documentation officielle de simple et déclencheur installable il y a quelque temps. Comme je l'ai dit, j'utilise un déclencheur simple, basé sur le temps, qui s'exécute chaque minute à l'heure actuelle. Je suis sûr que j'ai également examiné les déclencheurs pouvant être installés, mais malheureusement, l'une de leurs restrictions est qu'ils ne s'exécutent pas si un fichier est ouvert en mode lecture seule (affichage ou commentaire).

1
hoss

NOTE: Réponse à révision 4

Les événements Google Apps Script on Edit sont déclenchés uniquement par les modifications apportées par l'utilisateur. Ils ne le sont pas par les modifications automatiques, comme cela se produit lors du recalcul automatique des fonctions d'importation et des fonctions telles que NOW. Par ailleurs, pour effectuer un changement sur une feuille externe, vous devez utiliser un déclencheur installable.

Pour plus de détails, voir Déclencheurs pouvant être installés et recherchez-le à la fois sur ce site et sur le dépassement de capacité.


NOTE: Réponse à révision 1

Outre l'utilisation de la commande d'exécution de l'éditeur de scripts Google Apps, vous pouvez utiliser un script à la demande avec menu personnalisé . Plusieurs discussions incluent des exemples d'utilisation de menus personnalisés sur ce site. Voici quelques exemples:

Références

1
Rubén