Skrypty mogą rozszerzać niektóre usługi Google o elementy interfejsu użytkownika, których kliknięcie powoduje wykonanie funkcji Apps Script. Najpopularniejszym przykładem jest uruchomienie skryptu z niestandardowego elementu menu w Dokumentach, Arkuszach, Prezentacjach lub Formularzach Google, ale funkcje skryptu można też wywołać, klikając obrazy i rysunki w Arkuszach Google.
Niestandardowe menu w Dokumentach, Arkuszach, Prezentacjach i Formularzach Google
Apps Script może dodawać nowe menu w Dokumentach, Arkuszach, Prezentacjach i Formularzach Google, przy czym każdy element menu jest powiązany z funkcją w skrypcie. W Formularzach Google menu niestandardowe są widoczne tylko dla edytora, który otwiera formularz w celu jego modyfikacji, a nie dla użytkownika, który otworzy formularz.
Skrypt może utworzyć menu tylko wtedy, gdy jest powiązane z dokumentem, arkuszem kalkulacyjnym lub formularzem.
Aby wyświetlić menu, gdy użytkownik otworzy plik, wpisz kod menu w funkcji onOpen()
.
W przykładzie poniżej pokazujemy, jak dodać menu z jednym elementem, a potem separator wizualny, i menu podrzędne zawierające inny element. (Jeśli nie używasz nowej wersji Arkuszy Google, musisz użyć składni addMenu()
, a menu podrzędne nie jest możliwe). Gdy użytkownik wybierze dowolną pozycję w menu, odpowiednia funkcja otworzy okno alertu. Więcej informacji na temat typów otwartych okien znajdziesz w przewodniku po oknach i paskach bocznych.
function onOpen() {
var ui = SpreadsheetApp.getUi();
// Or DocumentApp 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 or FormApp.
.alert('You clicked the first menu item!');
}
function menuItem2() {
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.alert('You clicked the second menu item!');
}
Dokument, arkusz kalkulacyjny, prezentacja lub formularz może zawierać tylko jedno menu o podanej nazwie. Jeśli ten sam skrypt lub inny skrypt doda menu o tej samej nazwie, nowe menu zastąpi stare. Nie można usuwać menu, gdy plik jest otwarty, ale możesz użyć funkcji onOpen()
, by w przyszłości pominąć określoną opcję w przypadku ustawienia określonej właściwości.
Klikalne obrazy i rysunki w Arkuszach Google
Możesz też przypisać funkcję Apps Script do obrazu lub rysunku w Arkuszach Google, o ile skrypt jest powiązany z arkuszem kalkulacyjnym. Oto przykład konfiguracji poniżej.
- W Arkuszach Google wybierz pozycję menu Rozszerzenia > Apps Script, aby utworzyć skrypt powiązany z arkuszem kalkulacyjnym.
- Usuń dowolny kod z edytora skryptów i wklej go poniżej.
function showMessageBox() { Browser.msgBox('You clicked it!'); }
- Wróć do Arkuszy i wstaw obraz lub rysunek, wybierając Wstaw > Obraz lub Wstaw > Rysunek.
- Po wstawieniu obrazu lub rysunku kliknij go. W prawym górnym rogu pojawi się małe selektor. Kliknij go i wybierz Przypisz skrypt.
- W wyświetlonym oknie wpisz nazwę funkcji Apps Script, którą chcesz uruchomić (bez nawiasów), w tym przypadku
showMessageBox
. Kliknij OK. - Kliknij obraz lub rysunek ponownie. Funkcja zostanie teraz wykonana.
Linki do skryptu w Witrynach Google
Możesz też przypisać funkcję Apps Script do linku w Witrynach Google, o ile skrypt jest powiązany z witryną. Poniższy przykład pokazuje, jak to skonfigurować.
- W Witrynach Google kliknij Więcej i zarządzaj witryną.
- Na pasku bocznym kliknij Skrypty aplikacji i wybierz Dodaj nowy skrypt, aby utworzyć skrypt powiązany z witryną.
- Usuń dowolny kod z edytora i wklej go poniżej, co spowoduje wysłanie e-maila, gdy użytkownik kliknie link.
function sitesLink() { var recipient = Session.getActiveUser().getEmail(); GmailApp.sendEmail(recipient, 'Email from your site', 'You clicked a link!'); }
- Wróć do witryny Google i edytuj stronę. Wpisz etykietę, która ma być linkiem, np.
Click me
, a potem zaznacz tekst i kliknij Wstaw > Link. - W wyświetlonym oknie kliknij Apps Script i wybierz utworzoną przed chwilą funkcję
sitesLink
. Kliknij OK. - Kliknij Zapisz u góry strony.
- Kliknij link dodany do strony.
- Pojawi się okno z informacją, że skrypt wymaga autoryzacji. Kliknij OK. Drugie okno dialogowe zawiera prośbę o autoryzację określonych usług Google. Uważnie przeczytaj komunikat, kliknij Zezwól, a potem Zamknij.
- Teraz gdy skrypt jest już autoryzowany, ponownie kliknij link dodany do strony. Funkcja zostanie teraz wykonana. Sprawdź pocztę, aby zobaczyć wysłanego przez siebie e-maila.