Instancja środowiska interfejsu użytkownika aplikacji Google, która umożliwia skryptowi dodawanie funkcji, takich jak menu, okna i paski boczne. Skrypt może wchodzić w interakcję z interfejsem tylko w przypadku bieżącej instancji otwartego edytora i tylko wtedy, gdy skrypt jest zawiązany z kontenerem.
// Display a dialog box with a title, message, input field, and "Yes" and "No" buttons. The // user can also close the dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.prompt('Getting to know you', 'May I know your name?', ui.ButtonSet.YES_NO); // Process the user's response. if (response.getSelectedButton() == ui.Button.YES) { Logger.log('The user\'s name is %s.', response.getResponseText()); } else if (response.getSelectedButton() == ui.Button.NO) { Logger.log('The user didn\'t want to provide a name.'); } else { Logger.log('The user clicked the close button in the dialog\'s title bar.'); }
Właściwości
Właściwość | Typ | Opis |
---|---|---|
Button | Button | Lista wyliczeniowa przedstawiająca wstępnie zlokalizowane przyciski dialogów zwrócone przez alert lub PromptResponse.getSelectedButton() , które wskazują, który przycisk w oknie został kliknięty przez użytkownika. |
ButtonSet | ButtonSet | Wyliczenie reprezentujące wstępnie zdefiniowane, zlokalizowane zestawy co najmniej jednego przycisku dialogowego, które można dodać do alertu lub potwierdzenia. |
Metody
Metoda | Zwracany typ | Krótki opis |
---|---|---|
alert(prompt) | Button | Otwiera okno w edytorze użytkownika z podaną wiadomością i przyciskiem „OK”. |
alert(prompt, buttons) | Button | Otwiera okno edytora z danym komunikatem i zestawem przycisków. |
alert(title, prompt, buttons) | Button | Otwiera okno użytkownika w edytorze z danym tytułem, komunikatem i zestawem przycisków. |
createAddonMenu() | Menu | Tworzy konstruktor, którego można użyć do wstawienia menu podrzędnego do menu dodatku w edytorze. |
createMenu(caption) | Menu | Tworzy konstruktor, którego można użyć do dodania menu do interfejsu edytora. |
prompt(prompt) | PromptResponse | Otwiera okno wprowadzania danych w edytorze użytkownika z podaną wiadomością i przyciskiem „OK”. |
prompt(prompt, buttons) | PromptResponse | Otwiera okno wprowadzania danych w edytorze użytkownika z danym komunikatem i zestawem przycisków. |
prompt(title, prompt, buttons) | PromptResponse | Otwiera w edytorze okno dialogowe wprowadzania danych z określonym tytułem, komunikatem i zestawem przycisków. |
showModalDialog(userInterface, title) | void | Otwiera okno modalne okna edytora użytkownika z niestandardową treścią po stronie klienta. |
showModelessDialog(userInterface, title) | void | Otwiera bezmodne okno dialogowe z edytorem niestandardowych treści po stronie klienta. |
showSidebar(userInterface) | void | Otwiera pasek boczny w edytorze użytkownika z treścią po stronie klienta. |
Szczegółowa dokumentacja
alert(prompt)
Otwiera okno w edytorze użytkownika z podaną wiadomością i przyciskiem „OK”. Ta metoda powoduje zawieszenie skryptu po stronie serwera, gdy okno jest otwarte. Skrypt zostanie wznowiony, gdy użytkownik zamknie okno, ale połączenia Jdbc
i blokady LockService
nie przestaną działać po zawieszeniu. Więcej informacji znajdziesz w przewodniku po oknach i paskach bocznych.
// Display "Hello, world" in a dialog box with an "OK" button. The user can also close the // dialog by clicking the close button in its title bar. SpreadsheetApp.getUi().alert('Hello, world');
Parametry
Nazwa | Typ | Opis |
---|---|---|
prompt | String | Wiadomość do wyświetlenia w oknie dialogowym. |
Zwróć
Button
– przycisk, który kliknął użytkownik.
alert(prompt, buttons)
Otwiera okno edytora z danym komunikatem i zestawem przycisków. Ta metoda powoduje zawieszenie skryptu po stronie serwera, gdy okno jest otwarte. Skrypt zostanie wznowiony, gdy użytkownik zamknie okno, ale połączenia Jdbc
i blokady LockService
nie przestaną działać po zawieszeniu. Więcej informacji znajdziesz w przewodniku po oknach i paskach bocznych.
// Display a dialog box with a message and "Yes" and "No" buttons. The user can also close the // dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.alert('Are you sure you want to continue?', ui.ButtonSet.YES_NO); // Process the user's response. if (response == ui.Button.YES) { Logger.log('The user clicked "Yes."'); } else { Logger.log('The user clicked "No" or the close button in the dialog\'s title bar.'); }
Parametry
Nazwa | Typ | Opis |
---|---|---|
prompt | String | Wiadomość do wyświetlenia w oknie dialogowym. |
buttons | ButtonSet | Przycisk ustawiony w oknie dialogowym. |
Zwróć
Button
– przycisk, który kliknął użytkownik.
alert(title, prompt, buttons)
Otwiera okno użytkownika w edytorze z danym tytułem, komunikatem i zestawem przycisków. Ta metoda zawiesza skrypt po stronie serwera, gdy otwarte jest okno. Skrypt zostanie wznowiony, gdy użytkownik zamknie okno, ale połączenia Jdbc
i LockService
nie znikają po zawieszeniu. Więcej informacji znajdziesz w przewodniku po oknach i paskach bocznych.
// Display a dialog box with a title, message, and "Yes" and "No" buttons. The user can also // close the dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.alert('Confirm', 'Are you sure you want to continue?', ui.ButtonSet.YES_NO); // Process the user's response. if (response == ui.Button.YES) { Logger.log('The user clicked "Yes."'); } else { Logger.log('The user clicked "No" or the close button in the dialog\'s title bar.'); }
Parametry
Nazwa | Typ | Opis |
---|---|---|
title | String | Tytuł wyświetlany nad oknem dialogowym. |
prompt | String | Wiadomość do wyświetlenia w oknie dialogowym. |
buttons | ButtonSet | Przycisk ustawiony w oknie dialogowym. |
Zwróć
Button
– przycisk, który kliknął użytkownik.
createAddonMenu()
Tworzy konstruktor, którego można użyć do wstawienia menu podrzędnego do menu dodatku w edytorze. Menu nie jest aktualizowane, dopóki nie zostanie wywołana właściwość Menu.addToUi()
. Jeśli skrypt jest uruchamiany jako dodatek, jego nazwa menu podrzędnego jest zgodna z nazwą tego dodatku w sklepie Chrome Web Store. Jeśli skrypt jest powiązany bezpośrednio z dokumentem, nazwa menu podrzędnego jest taka sama jak nazwa skryptu. Więcej informacji znajdziesz w przewodniku po menu.
// Add an item to the Add-on menu, under a sub-menu whose name is set automatically. function onOpen(e) { SpreadsheetApp.getUi() .createAddonMenu() .addItem('Show', 'showSidebar') .addToUi(); }
Zwróć
Menu
– nowy kreator menu.
createMenu(caption)
Tworzy konstruktor, którego można użyć do dodania menu do interfejsu edytora. Menu nie jest dodawane, dopóki nie zostanie wywołana właściwość Menu.addToUi()
. Więcej informacji znajdziesz w przewodniku po menu. Etykieta menu najwyższego poziomu powinna być tworzona wielkimi literami, a w menu podrzędnym – tylko wielkość liter. Jeśli skrypt zostanie opublikowany jako dodatek, parametr caption
zostanie zignorowany, a menu zostanie dodane do menu podrzędnego menu Dodatki (odpowiednik: createAddonMenu()
).
// Add a custom menu to the active document, including a separator and a sub-menu. function onOpen(e) { SpreadsheetApp.getUi() .createMenu('My Menu') .addItem('My menu item', 'myFunction') .addSeparator() .addSubMenu(SpreadsheetApp.getUi().createMenu('My sub-menu') .addItem('One sub-menu item', 'mySecondFunction') .addItem('Another sub-menu item', 'myThirdFunction')) .addToUi(); }
Parametry
Nazwa | Typ | Opis |
---|---|---|
caption | String | Etykieta menu zawierająca wielkie litery w menu najwyższego poziomu lub tylko pierwsze słowo w menu podrzędnym. |
Zwróć
Menu
– nowy kreator menu.
prompt(prompt)
Otwiera okno wprowadzania danych w edytorze użytkownika z podaną wiadomością i przyciskiem „OK”. Ta metoda zawiesza skrypt po stronie serwera, gdy otwarte jest okno. Skrypt zostanie wznowiony, gdy użytkownik zamknie okno, ale połączenia Jdbc
i LockService
nie znikają po zawieszeniu. Więcej informacji znajdziesz w przewodniku po oknach i paskach bocznych.
// Display a dialog box with a message, input field, and an "OK" button. The user can also // close the dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.prompt('Enter your name:'); // Process the user's response. if (response.getSelectedButton() == ui.Button.OK) { Logger.log('The user\'s name is %s.', response.getResponseText()); } else { Logger.log('The user clicked the close button in the dialog\'s title bar.'); }
Parametry
Nazwa | Typ | Opis |
---|---|---|
prompt | String | Wiadomość do wyświetlenia w oknie dialogowym. |
Zwróć
PromptResponse
– reakcja użytkownika.
prompt(prompt, buttons)
Otwiera okno wprowadzania danych w edytorze użytkownika z danym komunikatem i zestawem przycisków. Ta metoda zawiesza skrypt po stronie serwera, gdy otwarte jest okno. Skrypt zostanie wznowiony, gdy użytkownik zamknie okno, ale połączenia Jdbc
i LockService
nie znikają po zawieszeniu. Więcej informacji znajdziesz w przewodniku po oknach i paskach bocznych.
// Display a dialog box with a message, input field, and "Yes" and "No" buttons. The user can // also close the dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.prompt('May I know your name?', ui.ButtonSet.YES_NO); // Process the user's response. if (response.getSelectedButton() == ui.Button.YES) { Logger.log('The user\'s name is %s.', response.getResponseText()); } else if (response.getSelectedButton() == ui.Button.NO) { Logger.log('The user didn\'t want to provide a name.'); } else { Logger.log('The user clicked the close button in the dialog\'s title bar.'); }
Parametry
Nazwa | Typ | Opis |
---|---|---|
prompt | String | Wiadomość do wyświetlenia w oknie dialogowym. |
buttons | ButtonSet | Przycisk ustawiony w oknie dialogowym. |
Zwróć
PromptResponse
– reakcja użytkownika.
prompt(title, prompt, buttons)
Otwiera w edytorze okno dialogowe wprowadzania danych z określonym tytułem, komunikatem i zestawem przycisków. Ta metoda powoduje zawieszenie skryptu po stronie serwera, gdy okno jest otwarte. Skrypt jest wznawiany po zamknięciu okna przez użytkownika, ale połączenia Jdbc
i blokady LockService
nie są zachowywane po zawieszeniu. Więcej informacji znajdziesz w przewodniku po dialogach i paskach bocznych.
// Display a dialog box with a title, message, input field, and "Yes" and "No" buttons. The // user can also close the dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.prompt('Getting to know you', 'May I know your name?', ui.ButtonSet.YES_NO); // Process the user's response. if (response.getSelectedButton() == ui.Button.YES) { Logger.log('The user\'s name is %s.', response.getResponseText()); } else if (response.getSelectedButton() == ui.Button.NO) { Logger.log('The user didn\'t want to provide a name.'); } else { Logger.log('The user clicked the close button in the dialog\'s title bar.'); }
Parametry
Nazwa | Typ | Opis |
---|---|---|
title | String | Tytuł wyświetlany nad oknem dialogowym. |
prompt | String | Wiadomość do wyświetlenia w oknie dialogowym. |
buttons | ButtonSet | Przycisk ustawiony w oknie dialogowym. |
Zwróć
PromptResponse
– reakcja użytkownika.
showModalDialog(userInterface, title)
Otwiera okno modalne okna edytora użytkownika z niestandardową treścią po stronie klienta. Ta metoda nie zawiesza skryptu po stronie serwera, gdy okno jest otwarte. Aby komunikować się ze skryptem po stronie serwera, komponent po stronie klienta musi wykonywać asynchroniczne wywołania zwrotne przy użyciu interfejsu API google.script
dla HtmlService
. Aby zamknąć okno, wywołaj funkcję
google.script.host.close()
po stronie klienta aplikacji internetowej HtmlService
. Więcej informacji znajdziesz w przewodniku po oknach i paskach bocznych.
Okna modalne uniemożliwiają użytkownikowi interakcję z wszystkimi innymi oknami. Natomiast bezmodne okna dialogowe i paski boczne umożliwiają użytkownikowi interakcję z edytorem. W niemal wszystkich przypadkach okno modalne lub pasek boczny są lepszą opcją niż okno niemodalne.
// Display a modal dialog box with custom HtmlService content. var htmlOutput = HtmlService .createHtmlOutput('<p>A change of speed, a change of style...</p>') .setWidth(250) .setHeight(300); SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'My add-on');
Parametry
Nazwa | Typ | Opis |
---|---|---|
userInterface | Object | HtmlOutput reprezentujący interfejs do wyświetlenia. |
title | String | Tytuł okna. Zastępuje każdy ustawiony zestaw przez wywołanie setTitle() w obiekcie userInterface . |
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.container.ui
showModelessDialog(userInterface, title)
Otwiera bezmodne okno dialogowe z edytorem niestandardowych treści po stronie klienta. Ta metoda nie zawiesza skryptu po stronie serwera, gdy okno jest otwarte. Aby komunikować się ze skryptem po stronie serwera, komponent po stronie klienta musi dokonywać asynchronicznych wywołań zwrotnych przy użyciu interfejsu API google.script
dla HtmlService
. Aby zamknąć okno, wywołaj funkcję
google.script.host.close()
po stronie klienta aplikacji internetowej HtmlService
. Więcej informacji znajdziesz w przewodniku po oknach i paskach bocznych.
Bezgodne okna dialogowe pozwalają użytkownikowi na interakcję z edytorem. Natomiast okna modalne już nie. W niemal wszystkich przypadkach okno modalne lub pasek boczny jest lepszym wyborem niż bezmodne okno dialogowe.
// Display a modeless dialog box with custom HtmlService content. var htmlOutput = HtmlService .createHtmlOutput('<p>A change of speed, a change of style...</p>') .setWidth(250) .setHeight(300); SpreadsheetApp.getUi().showModelessDialog(htmlOutput, 'My add-on');
Parametry
Nazwa | Typ | Opis |
---|---|---|
userInterface | Object | HtmlOutput reprezentujący interfejs do wyświetlenia. |
title | String | Tytuł okna. Zastępuje każdy ustawiony zestaw przez wywołanie setTitle() w obiekcie userInterface . |
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.container.ui
showSidebar(userInterface)
Otwiera pasek boczny w edytorze użytkownika z treścią po stronie klienta. Ta metoda nie zawiesza skryptu po stronie serwera, gdy pasek boczny jest otwarty. Aby komunikować się ze skryptem po stronie serwera, komponent po stronie klienta musi wykonywać asynchroniczne wywołania zwrotne przy użyciu interfejsu API google.script
dla HtmlService
. Aby zamknąć pasek boczny w sposób zautomatyzowany, wywołaj funkcję google.script.host.close()
po stronie klienta aplikacji internetowej HtmlService
. Więcej informacji znajdziesz w przewodniku po oknach i paskach bocznych.
Pasek boczny wyświetla się w przypadku użytkowników, których język jest ustawiony od lewej do prawej, a po lewej stronie w przypadku języków pisanych od prawej. Wszystkie paski boczne wyświetlane przez skrypty mają 300 pikseli szerokości.
// Display a sidebar with custom HtmlService content. var htmlOutput = HtmlService .createHtmlOutput('<p>A change of speed, a change of style...</p>') .setTitle('My add-on'); SpreadsheetApp.getUi().showSidebar(htmlOutput);
Parametry
Nazwa | Typ | Opis |
---|---|---|
userInterface | Object | HtmlOutput reprezentujący interfejs do wyświetlenia. |
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.container.ui