Reguły umożliwiają automatyczne uruchamianie funkcji Apps Script po wystąpieniu określonego zdarzenia, takiego jak otwarcie dokumentu. Proste wyzwalacze to zestaw zarezerwowanych funkcji wbudowanych w Apps Script, takich jak funkcja onOpen(e)
, która jest wykonywana, gdy użytkownik otworzy plik Dokumentów, Arkuszy, Prezentacji lub Formularzy Google.
Instalowane aktywatory oferują więcej funkcji niż proste aktywatory, ale przed użyciem muszą zostać aktywowane. W przypadku obu typów wyzwalaczy Apps Script przekazuje funkcji wywołanej obiekt zdarzenia, który zawiera informacje o kontekście, w którym wystąpiło zdarzenie.
Pierwsze kroki
Aby użyć prostego czynnika uruchamiającego, utwórz funkcję, która używa jednej z tych zarezerwowanych nazw funkcji:
onOpen(e)
uruchamia się, gdy użytkownik otworzy arkusz kalkulacyjny, dokument, prezentację lub formularz, który użytkownik może edytować.onInstall(e)
jest wykonywany, gdy użytkownik zainstaluje Edytor dodatku w Dokumentach, Arkuszach, Prezentacjach lub Formularze Google.onEdit(e)
jest wykonywane, gdy użytkownik zmieni wartość w arkuszu kalkulacyjnym.onSelectionChange(e)
jest wykonywane, gdy użytkownik zmieni wybór w arkuszu kalkulacyjnym.doGet(e)
jest wykonywany, gdy użytkownik odwiedza aplikację internetową lub gdy program wysyła żądanie HTTPGET
do aplikacji internetowej.doPost(e)
działa, gdy program wysyła żądanie HTTPPOST
do aplikacji internetowej.
Parametr e
w nazwach funkcji powyżej to obiekt zdarzenia przekazywany do funkcji. Obiekt zawiera informacje o kontekście, który spowodował uruchomienie reguły, ale jego użycie jest opcjonalne.
Ograniczenia
Ponieważ proste reguły działają automatycznie, bez pytania użytkownika o autoryzację, podlegają kilku ograniczeniom:
- Skrypt musi być powiązany z plikiem Arkuszy, Prezentacji, Dokumentów lub Formularzy Google albo musi być dodatkiem rozszerzającym jedną z tych aplikacji.
- Nie są one wykonywane, jeśli plik jest otwarty w trybie tylko do odczytu (wyświetlanie lub komentowanie).
- Wykonania skryptu i żądania interfejsu API nie powodują uruchamiania aktywatorów. Na przykład wywołanie funkcji
Range.setValue()
w celu edycji komórki nie powoduje uruchomieniaonEdit
. - Nie mają dostępu do usług, które wymagają autoryzacji. Na przykład prosty element wyzwalający nie może wysyłać e-maili, ponieważ usługa Gmail wymaga autoryzacji, ale prosty element wyzwalający może przetłumaczyć frazę za pomocą usługi językowej, która jest anonimowa.
- Mogą modyfikować plik, z którym są powiązane, ale nie mają dostępu do innych plików, bo wymaga to autoryzacji.
- Mogą, ale nie muszą być w stanie określić tożsamości bieżącego użytkownika, w zależności od złożonego zestawu ograniczeń zabezpieczeń.
- Nie mogą one trwać dłużej niż 30 sekund.
- W pewnych okolicznościach rozszerzenia edytora uruchamiają proste reguły
onOpen(e)
ionEdit(e)
w trybie bez autoryzacji, co powoduje pewne dodatkowe komplikacje. Więcej informacji znajdziesz w przewodniku na temat cyklu autoryzacji dodatku. - Proste aktywatory podlegają limitom reguł Apps Script.
Te ograniczenia nie dotyczą doGet(e)
ani doPost(e)
.
onOpen(e)
Reguła onOpen(e)
działa automatycznie, gdy użytkownik otworzy arkusz kalkulacyjny, dokument, prezentację lub formularz, do których ma uprawnienia do edycji. (wyzwalacz nie działa, gdy użytkownik odpowiada na formularz, tylko gdy otwiera go, aby go edytować). onOpen(e)
jest najczęściej używany do dodawania niestandardowych pozycji menu do Arkuszy, Prezentacji, Dokumentów lub Formularzy Google.
onInstall(e)
Wyzwalacz onInstall(e)
działa automatycznie, gdy użytkownik zainstaluje dodatek do edytora w Dokumentach, Arkuszach, Prezentacjach lub Formularzach Google. Reguła nie zostanie uruchomiona, gdy użytkownik zainstaluje dodatek na stronie Google Workspace Marketplace. Pamiętaj, że onInstall(e)
ma pewne ograniczenia. Dowiedz się więcej o autoryzacji.
Najczęstszym zastosowaniem funkcji onInstall(e)
jest wywołanie funkcji onOpen(e)
w celu dodania menu niestandardowych. W końcu po zainstalowaniu dodatku plik jest już otwarty, a onOpen(e)
nie działa samodzielnie, chyba że plik zostanie ponownie otwarty.
onEdit(e)
Wyzwalacz onEdit(e)
działa automatycznie, gdy użytkownik zmieni wartość dowolnej komórki w arkuszu kalkulacyjnym. Większość onEdit(e)
używa informacji z obiektu zdarzenia, aby odpowiednio zareagować.
Na przykład funkcja onEdit(e)
poniżej ustawia komentarz w komórce, który zapisuje ostatnią datę jej edycji.
onSelectionChange(e)
onSelectionChange(e)
uruchamia się automatycznie, gdy użytkownik zmieni zaznaczenie w arkuszu kalkulacyjnym. Aby aktywować regułę, musisz odświeżać arkusz kalkulacyjny po dodaniu reguły i każdym otwarciu arkusza kalkulacyjnego.
Jeśli zaznaczenie przemieszcza się między wieloma komórkami w krótkim czasie, niektóre zdarzenia zmiany zaznaczenia mogą zostać pominięte, aby skrócić czas oczekiwania. Jeśli np. w ciągu 2 sekund nastąpi wiele zmian w wybranych elementach, reguła onSelectionChange(e)
zostanie uruchomiona tylko przez pierwsze i ostatnie zmiany.
Jeśli w przykładzie poniżej wybierzesz pustą komórkę, funkcja onSelectionChange(e)
ustawi jej tło na czerwone.
doGet(e)
i doPost(e)
Aktywator doGet(e)
uruchamia się automatycznie, gdy użytkownik odwiedza aplikację internetową lub program wysyła do aplikacji internetowej żądanie HTTP GET
. doPost(e)
uruchamia się, gdy program wysyła żądanie HTTP POST
do aplikacji internetowej. Te aktywatory szczegółowo opisujemy w przewodnikach po aplikacjach internetowych, usłudze HTML i usłudze treści. Pamiętaj, że wymienione powyżej ograniczenia nie dotyczą doGet(e)
ani doPost(e)
.
Dostępne typy reguł
Jeśli ograniczenia prostego reguł uniemożliwiają ich dostosowanie do Twoich potrzeb, możesz użyć instalowalnego reguły. W tabeli poniżej podano, które typy reguł są dostępne w przypadku poszczególnych typów zdarzeń. Na przykład Arkusze, Prezentacje, Formularze i Dokumenty Google obsługują proste reguły uruchamiane po otwarciu, ale tylko Arkusze, Dokumenty i Formularze obsługują reguły uruchamiane po otwarciu z możliwością instalacji.
Zdarzenie | Proste wyzwalacze | Aktywatory do zainstalowania |
---|---|---|
Otwórz |
|
|
Edytuj |
|
|
Zmiana wyboru |
|
|
Zainstaluj |
|
|
Zmień |
|
|
Przesłanie formularza |
|
|
Czasowy (zegar) |
|
|
Pobierz |
|
|
Opublikuj |
|
* Zdarzenie otwarcia formularza Google nie występuje, gdy użytkownik otwiera formularz, aby na niego odpowiedzieć, ale gdy edytor otwiera formularz, aby go zmodyfikować.