Class Ui

Ui

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śćTypOpis
ButtonButtonWyliczenie 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.
ButtonSetButtonSetWyliczenie reprezentujące wstępnie określone, zlokalizowane zestawy przycisków w oknie, które można dodać do alertu lub potwierdzenia.

Metody

MetodaZwracany typKrótki opis
alert(prompt)ButtonOtwiera w edytorze użytkownika okno dialogowe z wiadomością i przyciskiem „OK”.
alert(prompt, buttons)ButtonOtwiera w edytorze użytkownika okno z określoną wiadomością i zestawem przycisków.
alert(title, prompt, buttons)ButtonOtwiera w edytorze użytkownika okno z podanym tytułem, komunikatem i zestawem przycisków.
createAddonMenu()MenuTworzy narzędzie, które może służyć do wstawiania podmenu 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 wyświetlonym komunikatem i przyciskiem „OK”.
prompt(prompt, buttons)PromptResponseOtwiera w edytorze użytkownika okno dialogowe z podaną 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 w edytorze użytkownika niemodalne okno z niestandardową zawartością po stronie klienta.
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 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

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

NazwaTypOpis
promptStringWiadomość do wyświetlenia w oknie dialogowym.
buttonsButtonSetPrzycisk 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 Jdbcpołą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

NazwaTypOpis
titleStringTytuł wyświetlany nad oknem dialogowym.
promptStringWiadomość do wyświetlenia w oknie dialogowym.
buttonsButtonSetPrzycisk 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

NazwaTypOpis
captionStringEtykieta 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 Jdbcpołą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

NazwaTypOpis
promptStringWiadomość 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 Jdbcpołą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

NazwaTypOpis
promptStringWiadomość do wyświetlenia w oknie dialogowym.
buttonsButtonSetPrzycisk 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

NazwaTypOpis
titleStringTytuł wyświetlany nad oknem dialogowym.
promptStringWiadomość do wyświetlenia w oknie dialogowym.
buttonsButtonSetPrzycisk 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

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

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

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