Instancja środowiska interfejsu użytkownika aplikacji Google, które umożliwia skryptowi dodawanie funkcji takich jak menu, okna i paski boczne. Skrypt może wchodzić w interakcje z interfejsem użytkownika tylko w bieżącej instancji otwartego edytora i tylko wtedy, gdy jest powiązany z kontenerem w edytorze.
// 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 | Wyliczenie reprezentujące wstępnie określone, zlokalizowane przyciski okien zwracanych przez alert lub PromptResponse.getSelectedButton() do wskazania, który przycisk w oknie został kliknięty przez użytkownika. |
ButtonSet | ButtonSet | Wyliczenie reprezentujące wstępnie zdefiniowane, zlokalizowane zestawy co najmniej 1 przycisku dialogowego, które można dodać do alertu lub potwierdzenia. |
Metody
Metoda | Zwracany typ | Krótki opis |
---|---|---|
alert(prompt) | Button | Otwiera w edytorze użytkownika okno z podaną wiadomością i przyciskiem „OK”. |
alert(prompt, buttons) | Button | Otwiera w edytorze użytkownika okno z podaną wiadomością i zestawem przycisków. |
alert(title, prompt, buttons) | Button | Otwiera w edytorze użytkownika okno z podanym tytułem, wiadomością i zestawem przycisków. |
createAddonMenu() | Menu | Tworzy narzędzie, które pozwala wstawić menu podrzędne do menu Rozszerzenia edytora. |
createMenu(caption) | Menu | Tworzy narzędzie, które pozwala dodać menu do interfejsu edytora. |
prompt(prompt) | PromptResponse | Otwiera w edytorze użytkownika okno dialogowe z komunikatem i przyciskiem „OK”. |
prompt(prompt, buttons) | PromptResponse | Otwiera w edytorze użytkownika okno dialogowe z daną wiadomością i zestawem przycisków. |
prompt(title, prompt, buttons) | PromptResponse | Otwiera w edytorze użytkownika okno dialogowe z podanym tytułem, komunikatem i zestawem przycisków. |
showModalDialog(userInterface, title) | void | Otwiera w edytorze użytkownika okno modalne z niestandardową zawartością po stronie klienta. |
showModelessDialog(userInterface, title) | void | Otwiera niemodalne okno dialogowe z niestandardową zawartością po stronie klienta w edytorze użytkownika. |
showSidebar(userInterface) | void | Otwiera w edytorze użytkownika pasek boczny z niestandardową zawartością po stronie klienta. |
Szczegółowa dokumentacja
alert(prompt)
Otwiera w edytorze użytkownika okno z podaną wiadomością i przyciskiem „OK”. Zawiesza ona skrypt po stronie serwera na czas otwarcia okna dialogowego. Skrypt jest wznawiany po zamknięciu okna przez użytkownika, ale połączenia Jdbc
i blokady LockService
nie pozostają aktywne przez okres zawieszenia. 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ść, która ma się wyświetlić w oknie dialogowym. |
Powroty
Button
– przycisk, który kliknął użytkownik.
alert(prompt, buttons)
Otwiera w edytorze użytkownika okno z podaną wiadomością i zestawem przycisków. Zawiesza ona skrypt po stronie serwera na czas otwarcia okna dialogowego. Skrypt jest wznawiany po zamknięciu okna przez użytkownika, ale połączenia Jdbc
i blokady LockService
nie pozostają aktywne przez okres zawieszenia. 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ść, która ma się wyświetlić w oknie dialogowym. |
buttons | ButtonSet | Przycisk ustawiony do wyświetlania w oknie dialogowym. |
Powroty
Button
– przycisk, który kliknął użytkownik.
alert(title, prompt, buttons)
Otwiera w edytorze użytkownika okno z podanym tytułem, wiadomością i zestawem przycisków. Ta metoda zawiesza skrypt po stronie serwera w czasie, gdy okno jest otwarte. Skrypt jest wznawiany po zamknięciu okna przez użytkownika, ale połączenia Jdbc
i blokady LockService
nie są nadal używane przez okres zawieszenia. 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ść, która ma się wyświetlić w oknie dialogowym. |
buttons | ButtonSet | Przycisk ustawiony do wyświetlania w oknie dialogowym. |
Powroty
Button
– przycisk, który kliknął użytkownik.
createAddonMenu()
Tworzy narzędzie, które pozwala wstawić menu podrzędne do menu Rozszerzenia edytora. Menu zostanie zaktualizowane dopiero po wywołaniu funkcji Menu.addToUi()
. Jeśli skrypt działa jako dodatek, nazwa menu podrzędnego jest zgodna z nazwą dodatku w sklepie internetowym. Jeśli skrypt jest powiązany bezpośrednio z dokumentem, nazwa menu podrzędnego jest zgodna z nazwą 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(); }
Powroty
Menu
– nowy kreator menu.
createMenu(caption)
Tworzy narzędzie, które pozwala dodać menu do interfejsu edytora. Menu zostanie dodane dopiero po wywołaniu funkcji Menu.addToUi()
. Więcej informacji znajdziesz w przewodniku po menu. Etykieta menu najwyższego poziomu powinna być pisana wielkimi literami, ale etykieta menu podrzędnego powinna być zapisana z użyciem wielkich liter (tylko pierwsze słowo pisane wielką literą). Jeśli skrypt został opublikowany jako dodatek, parametr caption
zostanie zignorowany, a menu zostanie dodane jako menu podrzędne menu Rozszerzenia, równoważne z wartością 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, w której wszystkie główne wyrazy są pisane wielkimi literami w przypadku menu najwyższego poziomu lub tylko pierwszy wyraz w przypadku menu podrzędnego. |
Powroty
Menu
– nowy kreator menu.
prompt(prompt)
Otwiera w edytorze użytkownika okno dialogowe z komunikatem i przyciskiem „OK”. Ta metoda zawiesza skrypt po stronie serwera w czasie, gdy okno jest otwarte. Skrypt jest wznawiany po zamknięciu okna przez użytkownika, ale połączenia Jdbc
i blokady LockService
nie są nadal używane przez okres zawieszenia. 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ść, która ma się wyświetlić w oknie dialogowym. |
Powroty
PromptResponse
– reprezentacja odpowiedzi użytkownika,
prompt(prompt, buttons)
Otwiera w edytorze użytkownika okno dialogowe z daną wiadomością i zestawem przycisków. Ta metoda zawiesza skrypt po stronie serwera w czasie, gdy okno jest otwarte. Skrypt jest wznawiany po zamknięciu okna przez użytkownika, ale połączenia Jdbc
i blokady LockService
nie są nadal używane przez okres zawieszenia. 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ść, która ma się wyświetlić w oknie dialogowym. |
buttons | ButtonSet | Przycisk ustawiony do wyświetlania w oknie dialogowym. |
Powroty
PromptResponse
– reprezentacja odpowiedzi użytkownika,
prompt(title, prompt, buttons)
Otwiera w edytorze użytkownika okno dialogowe z podanym tytułem, komunikatem i zestawem przycisków. Ta metoda zawiesza skrypt po stronie serwera w czasie, gdy okno dialogowe jest otwarte. Skrypt jest wznawiany po zamknięciu okna przez użytkownika, ale blokady połączeń Jdbc
i blokady LockService
nie są zachowane w okresie zawieszenia. Więcej informacji znajdziesz w przewodniku po oknach 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ść, która ma się wyświetlić w oknie dialogowym. |
buttons | ButtonSet | Przycisk ustawiony do wyświetlania w oknie dialogowym. |
Powroty
PromptResponse
– reprezentacja odpowiedzi użytkownika,
showModalDialog(userInterface, title)
Otwiera w edytorze użytkownika okno modalne z niestandardową zawartością po stronie klienta. Ta metoda nie zawiesza skryptu po stronie serwera w czasie, 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 automatycznie zamknąć okno, wywołaj
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 innymi elementami niż okno. Z kolei niemodalne okna i paski boczne umożliwiają użytkownikowi interakcję z edytorem. Niemal we wszystkich przypadkach okno modalne lub pasek boczny to lepsze rozwiązanie niż bezmodalne okno.
// 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 | Element HtmlOutput reprezentujący interfejs do wyświetlenia. |
title | String | Tytuł okna; zastępuje każdy ustawiony tytuł, wywołując setTitle() w obiekcie userInterface . |
Upoważnienie
Skrypty korzystające z tej metody wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.container.ui
showModelessDialog(userInterface, title)
Otwiera niemodalne okno dialogowe z niestandardową zawartością po stronie klienta w edytorze użytkownika. Ta metoda nie zawiesza skryptu po stronie serwera w czasie, 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 automatycznie zamknąć okno, wywołaj
google.script.host.close()
po stronie klienta aplikacji internetowej HtmlService
. Więcej informacji znajdziesz w przewodniku po oknach i paskach bocznych.
Okna bezmodowe umożliwiają użytkownikowi interakcję z edytorem za oknem. Okna modalne nie mają jednak zastosowania. Prawie we wszystkich przypadkach lepszym rozwiązaniem niż bezmodalne okno jest okno modalne lub pasek boczny.
// 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 | Element HtmlOutput reprezentujący interfejs do wyświetlenia. |
title | String | Tytuł okna; zastępuje każdy ustawiony tytuł, wywołując setTitle() w obiekcie userInterface . |
Upoważnienie
Skrypty korzystające z tej metody wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.container.ui
showSidebar(userInterface)
Otwiera w edytorze użytkownika pasek boczny z niestandardową zawartoś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 automatycznie zamknąć pasek boczny, wywołaj
google.script.host.close()
po stronie klienta aplikacji internetowej HtmlService
. Więcej informacji znajdziesz w przewodniku po oknach i paskach bocznych.
Pasek boczny jest widoczny po prawej stronie edytora w przypadku użytkowników, których środowiska używają języka pisanego od lewej do prawej, a po lewej stronie edytora w przypadku języków pisanych od prawej do lewej. Wszystkie paski boczne wyświetlane przez skrypty mają szerokość 300 pikseli.
// 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 | Element HtmlOutput reprezentujący interfejs do wyświetlenia. |
Upoważnienie
Skrypty korzystające z tej metody wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.container.ui