Wystąpienie ś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 interakcję z interfejsem tylko w bieżącej instancji otwartego edytora i tylko wtedy, gdy jest powią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 | Wyliczenie reprezentujące wstępnie zdefiniowane, zlokalizowane przyciski okien, które zostały zwrócone przez alert lub PromptResponse.getSelectedButton() w celu wskazania, który przycisk w oknie, który kliknął użytkownik. |
ButtonSet | ButtonSet | Wyliczenie reprezentujące wstępnie określone, zlokalizowane zestawy przycisków w oknie, 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 dialogowe z wiadomością i przyciskiem „OK”. |
alert(prompt, buttons) | Button | Otwiera w edytorze użytkownika okno z określoną wiadomością i zestawem przycisków. |
alert(title, prompt, buttons) | Button | Otwiera w edytorze użytkownika okno z podanym tytułem, komunikatem i zestawem przycisków. |
createAddonMenu() | Menu | Tworzy narzędzie, które może służyć do wstawiania podmenu 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 wyświetlonym komunikatem i przyciskiem „OK”. |
prompt(prompt, buttons) | PromptResponse | Otwiera w edytorze użytkownika okno dialogowe z podaną 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 w edytorze użytkownika niemodalne okno z niestandardową zawartością po stronie klienta. |
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 dialogowe z wiadomością i przyciskiem „OK”. Ta metoda powoduje zawieszenie skryptu po stronie serwera, gdy okno jest otwarte. Skrypt wznawia działanie po zamknięciu okna przez użytkownika, ale Jdbc
połączenia i blokady (LockService
) nie są trwałe. Więcej informacji znajdziesz w przewodniku po oknach dialogowych 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. |
Powrót
Button
– przycisk, który kliknął użytkownik.
alert(prompt, buttons)
Otwiera w edytorze użytkownika okno z określoną wiadomością i zestawem przycisków. Ta metoda powoduje zawieszenie skryptu po stronie serwera, gdy okno jest otwarte. Skrypt wznawia działanie po zamknięciu okna przez użytkownika, ale Jdbc
połączenia i blokady (LockService
) nie są trwałe. Więcej informacji znajdziesz w przewodniku po oknach dialogowych 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 do wyświetlenia w oknie dialogowym. |
Powrót
Button
– przycisk, który kliknął użytkownik.
alert(title, prompt, buttons)
Otwiera w edytorze użytkownika okno z podanym tytułem, komunikatem i zestawem przycisków. Ta metoda zawiesza skrypt po stronie serwera, gdy okno jest otwarte. Skrypt wznawia działanie po zamknięciu okna przez użytkownika, ale Jdbc
połączenia i blokady LockService
nie są trwałe. Więcej informacji znajdziesz w przewodniku po oknach dialogowych 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 do wyświetlenia w oknie dialogowym. |
Powrót
Button
– przycisk, który kliknął użytkownik.
createAddonMenu()
Tworzy narzędzie, które może służyć do wstawiania podmenu 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(); }
Powrót
Menu
– nowy kreator menu.
createMenu(caption)
Tworzy narzędzie, które pozwala dodać menu do interfejsu edytora. Menu zostanie dodane dopiero po wywołaniu metody Menu.addToUi()
. Więcej informacji znajdziesz w przewodniku po menu. W przypadku menu najwyższego poziomu etykieta powinna być pisana wielkimi literami (wszystkie główne słowa muszą być pisane wielkimi literami), ale etykieta menu podrzędnego powinna być
wielkością liter jak w zdaniu (tylko pierwsze słowo pisane wielką literą). Jeśli skrypt został opublikowany jako dodatek, parametr caption
jest ignorowany, a menu jest dodawane jako menu podrzędne menu Rozszerzenia, odpowiadające parametrowi 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 słowa są pisane wielkimi literami w przypadku menu najwyższego poziomu lub tylko pierwsze słowo w menu podrzędnym. |
Powrót
Menu
– nowy kreator menu.
prompt(prompt)
Otwiera w edytorze użytkownika okno dialogowe z wyświetlonym komunikatem i przyciskiem „OK”. Ta metoda zawiesza skrypt po stronie serwera, gdy okno jest otwarte. Skrypt wznawia działanie po zamknięciu okna przez użytkownika, ale Jdbc
połączenia i blokady LockService
nie są trwałe. Więcej informacji znajdziesz w przewodniku po oknach dialogowych 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. |
Powrót
PromptResponse
– reprezentuje odpowiedź użytkownika.
prompt(prompt, buttons)
Otwiera w edytorze użytkownika okno dialogowe z podaną wiadomością i zestawem przycisków. Ta metoda zawiesza skrypt po stronie serwera, gdy okno jest otwarte. Skrypt wznawia działanie po zamknięciu okna przez użytkownika, ale Jdbc
połączenia i blokady LockService
nie są trwałe. Więcej informacji znajdziesz w przewodniku po oknach dialogowych 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 do wyświetlenia w oknie dialogowym. |
Powrót
PromptResponse
– reprezentuje odpowiedź 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, gdy okno jest otwarte. Skrypt jest wznawiany po zamknięciu okna przez użytkownika, ale blokady połączeń Jdbc
i blokady LockService
nie są zachowywane w całym 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ść do wyświetlenia w oknie dialogowym. |
buttons | ButtonSet | Przycisk ustawiony do wyświetlenia w oknie dialogowym. |
Powrót
PromptResponse
– reprezentuje odpowiedź 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, gdy okno jest otwarte. Aby komunikować się ze skryptem po stronie serwera, komponent po stronie klienta musi wykonywać asynchroniczne wywołania zwrotne za pomocą interfejsu google.script
API dla HtmlService
. Aby automatycznie zamknąć okno, wywołaj metodę
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 czymś innym niż okno. Niemodne okna i paski boczne umożliwiają użytkownikowi korzystanie z edytora. Niemal we wszystkich przypadkach lepsze okno modalne lub pasek boczny to lepsze rozwiązanie.
// 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 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 w edytorze użytkownika niemodalne okno z niestandardową zawartoś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 automatycznie zamknąć okno, wywołaj metodę
google.script.host.close()
po stronie klienta aplikacji internetowej HtmlService
. Więcej informacji znajdziesz w przewodniku po oknach i paskach bocznych.
Okna bezmodowe pozwalają użytkownikowi na interakcję z edytorem. Z kolei okna modalne ich nie obsługują. W niemal wszystkich przypadkach okno modalne lub pasek boczny są lepszym rozwiązaniem niż okno bezmodalne.
// 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 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 za pomocą interfejsu google.script
API dla HtmlService
. Aby automatycznie zamknąć pasek boczny, wywołaj metodę
google.script.host.close()
po stronie klienta aplikacji internetowej HtmlService
. Więcej informacji znajdziesz w przewodniku po oknach i paskach bocznych.
Pasek boczny jest wyświetlany po prawej stronie edytora w przypadku użytkowników, których środowiska korzystają z języka pisanego od lewej do prawej, a dla języków pisanych od prawej do lewej – po lewej stronie edytora. 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. |
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