Class Ui

Ui

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śćTypOpis
ButtonButtonWyliczenie 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.
ButtonSetButtonSetWyliczenie reprezentujące wstępnie zdefiniowane, zlokalizowane zestawy co najmniej 1 przycisku dialogowego, które można dodać do alertu lub potwierdzenia.

Metody

MetodaZwracany typKrótki opis
alert(prompt)ButtonOtwiera w edytorze użytkownika okno z podaną wiadomością i przyciskiem „OK”.
alert(prompt, buttons)ButtonOtwiera w edytorze użytkownika okno z podaną wiadomością i zestawem przycisków.
alert(title, prompt, buttons)ButtonOtwiera w edytorze użytkownika okno z podanym tytułem, wiadomością i zestawem przycisków.
createAddonMenu()MenuTworzy narzędzie, które pozwala wstawić menu podrzędne do menu Rozszerzenia edytora.
createMenu(caption)MenuTworzy narzędzie, które pozwala dodać menu do interfejsu edytora.
prompt(prompt)PromptResponseOtwiera w edytorze użytkownika okno dialogowe z komunikatem i przyciskiem „OK”.
prompt(prompt, buttons)PromptResponseOtwiera w edytorze użytkownika okno dialogowe z daną wiadomością i zestawem przycisków.
prompt(title, prompt, buttons)PromptResponseOtwiera w edytorze użytkownika okno dialogowe z podanym tytułem, komunikatem i zestawem przycisków.
showModalDialog(userInterface, title)voidOtwiera w edytorze użytkownika okno modalne z niestandardową zawartością po stronie klienta.
showModelessDialog(userInterface, title)voidOtwiera niemodalne okno dialogowe z niestandardową zawartością po stronie klienta w edytorze użytkownika.
showSidebar(userInterface)voidOtwiera 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

NazwaTypOpis
promptStringWiadomość, 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

NazwaTypOpis
promptStringWiadomość, która ma się wyświetlić w oknie dialogowym.
buttonsButtonSetPrzycisk 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

NazwaTypOpis
titleStringTytuł wyświetlany nad oknem dialogowym.
promptStringWiadomość, która ma się wyświetlić w oknie dialogowym.
buttonsButtonSetPrzycisk 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

NazwaTypOpis
captionStringEtykieta 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

NazwaTypOpis
promptStringWiadomość, 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

NazwaTypOpis
promptStringWiadomość, która ma się wyświetlić w oknie dialogowym.
buttonsButtonSetPrzycisk 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

NazwaTypOpis
titleStringTytuł wyświetlany nad oknem dialogowym.
promptStringWiadomość, która ma się wyświetlić w oknie dialogowym.
buttonsButtonSetPrzycisk 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

NazwaTypOpis
userInterfaceObjectElement HtmlOutput reprezentujący interfejs do wyświetlenia.
titleStringTytuł 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

NazwaTypOpis
userInterfaceObjectElement HtmlOutput reprezentujący interfejs do wyświetlenia.
titleStringTytuł 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

NazwaTypOpis
userInterfaceObjectElement 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

Wycofane metody