Reguły umożliwiają aplikacji Apps Script automatyczne uruchamianie funkcji po wystąpieniu określonego zdarzenia, np. otwarcia dokumentu. Proste aktywatory to zestaw zarezerwowanych funkcji wbudowanych w Apps Script, takich jak onOpen(e)
, które są uruchamiane, gdy użytkownik otwiera plik Dokumentów, Arkuszy, Prezentacji lub Formularzy Google.
Instalacyjne reguły mają więcej możliwości niż proste reguły, ale muszą zostać aktywowane przed użyciem. W przypadku obu typów aktywatorów Apps Script przekazuje wyzwalaną funkcję obiekt zdarzenia zawierający informacje o kontekście, w jakim wystąpiło zdarzenie.
Pierwsze kroki
Aby użyć prostego aktywatora, utwórz funkcję, używając jednej z tych zarezerwowanych funkcji:
onOpen(e)
działa, gdy użytkownik otwiera arkusz kalkulacyjny, dokument, prezentację lub formularz, które może edytować.onInstall(e)
działa, gdy użytkownik zainstaluje Dodatek do Edytora z Dokumentów, Arkuszy, Prezentacji lub Formularzy Google.onEdit(e)
działa, gdy użytkownik zmienia wartość w arkuszu kalkulacyjnym.onSelectionChange(e)
działa, gdy użytkownik zmieni wybór w arkuszu kalkulacyjnym.doGet(e)
działa, gdy użytkownik otwiera aplikację internetową lub program wysyła żądanie HTTPGET
do aplikacji internetowej.doPost(e)
działa, gdy program wysyła żądanie HTTPPOST
do aplikacji internetowej.
Parametr e
w powyższych nazwach funkcji jest obiektem zdarzenia przekazywanym do funkcji. Obiekt zawiera informacje o kontekście, który spowodował uruchomienie reguły. Używanie go jest opcjonalne.
Ograniczenia
Proste reguły są uruchamiane automatycznie bez pytania użytkownika o upoważnienie, dlatego podlega kilku ograniczeniom:
- Skrypt musi być powiązany z plikiem Arkuszy, Prezentacji, Dokumentów lub Formularzy Google albo może być dodatkiem rozszerzającym jedną z tych aplikacji.
- Nie działają, jeśli plik jest otwarty w trybie tylko do odczytu (wyświetlanie lub komentowanie).
- Wykonanie skryptów i żądania do interfejsu API nie powodują uruchamiania aktywatorów. Na przykład wywołanie
Range.setValue()
w celu edycji komórki nie spowoduje uruchomienia aktywatora arkusza kalkulacyjnegoonEdit
. - Nie ma jednak dostępu do usług, które wymagają autoryzacji. Na przykład prosta reguła nie może wysłać e-maila, ponieważ usługa Gmail wymaga autoryzacji, ale prosta reguła może przetłumaczyć wyrażenie w usłudze języka, które jest anonimowe.
- Mogą modyfikować powiązany plik, ale nie mogą uzyskać dostępu do innych plików, bo wymaga to autoryzacji.
- To, czy zostanie ona określona, zależy od złożonego zestawu ograniczeń zabezpieczeń.
- Nie mogą trwać dłużej niż 30 sekund.
- W pewnych okolicznościach Dodatki do edytora uruchamiają proste reguły
onOpen(e)
ionEdit(e)
w trybie bez autoryzacji, co wiąże się z dodatkowymi komplikacjami. Więcej informacji znajdziesz w przewodniku po cyklu życia dodatku do autoryzacji. - Proste aktywatory podlegają limitom aktywatora Apps Script.
Te ograniczenia nie obowiązują w usługach doGet(e)
i doPost(e)
.
onOpen(e)
Reguła onOpen(e)
jest uruchamiana automatycznie, gdy użytkownik otworzy arkusz kalkulacyjny, dokument, prezentację lub formularz, które może edytować. (reguła nie działa podczas odpowiadania na formularz, tylko po jego otwarciu) Pole onOpen(e)
jest najczęściej używane do dodawania niestandardowych elementów menu do Arkuszy, Prezentacji, Dokumentów i Formularzy Google.
onInstall(e)
Reguła onInstall(e)
działa automatycznie, gdy użytkownik zainstaluje dodatek do edytora z Dokumentów, Arkuszy, Prezentacji lub Formularzy Google. Reguła nie będzie działać, gdy użytkownik zainstaluje dodatek ze strony Google Workspace Marketplace. Pamiętaj, że onInstall(e)
ma pewne ograniczenia. Dowiedz się więcej o autoryzacji.
Najczęstszym zastosowaniem metody onInstall(e)
jest wywołanie metody onOpen(e)
w celu dodania niestandardowych menu. W końcu zainstalowany dodatek jest już otwarty, więc onOpen(e)
nie będzie działać samodzielnie, dopóki plik nie zostanie ponownie otwarty.
onEdit(e)
Reguła onEdit(e)
jest uruchamiana automatycznie, gdy użytkownik zmieni wartość dowolnej komórki w arkuszu kalkulacyjnym. Większość aktywatorów onEdit(e)
używa informacji w obiekcie zdarzenia, aby odpowiedzieć prawidłowo.
Na przykład funkcja onEdit(e)
poniżej ustawia komentarz do komórki, która rejestruje ostatnią zmianę.
onSelectionChange(e)
Reguła onSelectionChange(e)
jest uruchamiana automatycznie, gdy użytkownik zmieni wybór w arkuszu kalkulacyjnym. Aby aktywować regułę, musisz ją odświeżyć po dodaniu i każdym otwarciu arkusza.
Jeśli zaznaczenie jest przenoszone między kilkoma komórkami w krótkim czasie, niektóre zdarzenia zmiany zaznaczenia mogą zostać pominięte, aby skrócić czas oczekiwania. Jeśli na przykład wiele zmian wyboru zostanie wprowadzonych w ciągu dwóch sekund od siebie, tylko pierwsza i ostatnia zmiana będą aktywować regułę onSelectionChange(e)
.
W przykładzie poniżej, jeśli pusta komórka jest zaznaczona, funkcja onSelectionChange(e)
ustawia tło komórki na czerwone.
doGet(e)
i doPost(e)
Aktywator doGet(e)
jest uruchamiany automatycznie, gdy użytkownik odwiedza aplikację internetową lub program wysyła do aplikacji internetowej żądanie HTTP GET
. doPost(e)
działa, gdy program wysyła żądanie HTTP POST
do aplikacji internetowej. Te wyzwalacze są bardziej przedstawione w przewodnikach po aplikacjach internetowych, usłudze HTML i usłudze treści. doGet(e)
i doPost(e)
nie podlegają ograniczeniom opisanym powyżej.
Dostępne typy reguł
Jeśli ograniczenia prostych reguł nie spełniają Twoich wymagań, może wystarczyć reguła do zainstalowania. W tabeli poniżej podano typy reguł, które są dostępne w przypadku poszczególnych typów zdarzeń. Na przykład Arkusze, Prezentacje, Formularze i Dokumenty Google obsługują proste reguły otwarte, ale tylko Arkusze, Dokumenty i Formularze obsługują możliwe do zainstalowania reguły.
Zdarzenie | Proste aktywatory | Reguły do zainstalowania |
---|---|---|
Otwórz |
![]() ![]() ![]() ![]()
|
![]() ![]() ![]() |
Edytuj |
![]()
|
![]() |
Zmiana wyboru |
![]()
|
|
Zainstaluj |
![]() ![]() ![]() ![]()
|
|
Zmień |
![]() |
|
Przesłanie formularza |
![]() ![]() |
|
Nakierowane na czas (zegar) |
![]() ![]() ![]() ![]() ![]() ![]() |
|
Pobierz |
![]() ![]()
|
|
na karcie Społeczność |
![]() ![]()
|
* Zdarzenie otwarte w Formularzach Google nie występuje, gdy użytkownik otwiera formularz, ale aby go zmodyfikować w edytorze.