Skrypty mogą rozszerzać niektóre usługi Google przez dodawanie elementów interfejsu, które po kliknięciu uruchamiają funkcję Apps Script. Najczęstszym przykładem jest uruchomienie skryptu przy użyciu niestandardowego elementu menu w Dokumentach, Arkuszach, Prezentacjach lub Formularzach Google, ale funkcje skryptu można też aktywować przez klikanie obrazów i rysunków w Arkuszach Google.
Menu niestandardowe w Dokumentach, Arkuszach, Prezentacjach i Formularzach Google
Apps Script może dodawać nowe menu w Dokumentach, Arkuszach, Prezentacjach i Formularzach Google, a każdy element menu jest powiązany z funkcją w skrypcie. (W Formularzach Google menu niestandardowe są widoczne tylko dla edytującego, który otwiera formularz w celu jego modyfikacji. Nie są one widoczne dla użytkownika, który otwiera formularz, aby 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, napisz kod menu w funkcji onOpen()
.
Poniższy przykład pokazuje, jak dodać menu z jednym elementem, separatorem wizualnym oraz menu podrzędne zawierające kolejny element. (Pamiętaj, że w Arkuszach Google musisz używać składni addMenu()
, chyba że używasz nowej wersji. Menu podrzędne są niedostępne). Gdy użytkownik wybierze którąkolwiek z tych pozycji w menu, odpowiednia funkcja otworzy okno alertu. Więcej informacji o typach okien, które można otwierać, znajdziesz w przewodniku po oknach 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 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. Menu nie można usuwać, gdy plik jest otwarty, ale można utworzyć funkcję onOpen()
, aby w przyszłości pomijać menu, jeśli jest ustawiona określona usługa.
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 tym arkuszem kalkulacyjnym. Przykład poniżej pokazuje, jak to zrobić.
- W Arkuszach Google wybierz pozycję menu Rozszerzenia > Apps Script, aby utworzyć skrypt powiązany z arkuszem kalkulacyjnym.
Usuń dowolny kod w edytorze 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ły selektor menu. Kliknij ją i wybierz Przypisz skrypt.
W wyświetlonym oknie wpisz (bez nawiasów) nazwę funkcji Apps Script, którą chcesz uruchomić (w tym przypadku jest to
showMessageBox
). Kliknij OK.Kliknij obraz lub rysunek ponownie. Funkcja zostanie wykonana.