Skrypty mogą rozszerzać niektóre usługi Google poprzez dodanie elementów interfejsu użytkownika, które po kliknięciu wykonują funkcję Apps Script. Najczęstszym przykładem jest uruchamianie skryptu z poziomu niestandardowego elementu menu w Dokumentach, Arkuszach, Prezentacjach lub Formularzach Google, ale funkcje skryptu można też aktywować, klikając obrazy i rysunki w Arkuszach Google.
Menu niestandardowe w Dokumentach, Arkuszach, Prezentacjach lub Formularzach Google
Apps Script może dodawać nowe menu w Dokumentach, Arkuszach, Prezentacjach lub Formularzach Google. Każda pozycja menu jest powiązana z funkcją w skrypcie. (W Google Forms menu niestandardowe są widoczne tylko dla edytującego, który otwiera formularz w celu jego modyfikacji, a nie dla użytkownika, który otwiera formularz, aby na niego odpowiedzieć).
Skrypt może utworzyć menu tylko wtedy, gdy jest powiązany z dokumentem, arkuszem kalkulacyjnym lub formularzem.
Aby wyświetlić menu, gdy użytkownik otworzy plik, zapisz kod menu w funkcji onOpen()
.
Przykład poniżej pokazuje, jak dodać menu z jednym elementem, a potem wizualnym separatorem i menu podrzędnym zawierającym kolejny element. (Pamiętaj, że w Arkuszach Google, chyba że używasz nowej wersji, musisz użyć składni addMenu()
. Nie można używać menu podrzędnych). Gdy użytkownik wybierze pozycję menu, odpowiednia funkcja otworzy okno alertu. Więcej informacji o tym, jakie typy okien dialogowych możesz otwierać, znajdziesz w przewodniku po oknach dialogowych i paskach bocznych.
function onOpen() {
var ui = SpreadsheetApp.getUi();
// Or DocumentApp, SlidesApp 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, SlidesApp or FormApp.
.alert('You clicked the first menu item!');
}
function menuItem2() {
SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
.alert('You clicked the second menu item!');
}
Dokument, arkusz kalkulacyjny, prezentacja lub formularz mogą zawierać tylko jedno menu o danej nazwie. Jeśli to samo lub inne skrypty dodadzą menu o tej samej nazwie, nowe menu zastąpi stare. Menu nie można usunąć, gdy plik jest otwarty, ale możesz napisać funkcję onOpen()
, aby pominąć menu w przyszłości, jeśli zostanie ustawiona określona właściwość.
Klikalne obrazy i rysunki w Arkuszach Google
Funkcję Apps Script możesz też przypisać do rysunku lub obrazu w Arkuszach Google, o ile skrypt jest powiązany z arkuszy. Przykład poniżej pokazuje, jak to zrobić.
- W Arkuszach Google kliknij kolejno Rozszerzenia > Apps Script, aby utworzyć skrypt powiązany z arkuszem kalkulacyjnym.
Usuń kod w edytorze skryptu i wklej kod poniżej.
function showMessageBox() { Browser.msgBox('You clicked it!'); }
Wróć do Arkuszy i wstaw obraz lub rysunek, klikając Wstaw > Obraz lub Wstaw > Rysunek.
Po wstawieniu obrazu lub rysunku kliknij go. W prawym górnym rogu pojawi się małe menu. 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.Ponownie kliknij obraz lub rysunek. Funkcja jest teraz wykonywana.