Class Ui

i

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

Metody

MetodaZwracany typKrótki opis
alert(prompt)ButtonOtwiera okno w edytorze użytkownika z podaną wiadomością i przyciskiem „OK”.
alert(prompt, buttons)ButtonOtwiera okno edytora z danym komunikatem i zestawem przycisków.
alert(title, prompt, buttons)ButtonOtwiera okno użytkownika w edytorze z danym tytułem, komunikatem i zestawem przycisków.
createAddonMenu()MenuTworzy konstruktor, którego można użyć do wstawienia menu podrzędnego do menu dodatku w edytorze.
createMenu(caption)MenuTworzy konstruktor, którego można użyć do dodania menu do interfejsu edytora.
prompt(prompt)PromptResponseOtwiera okno wprowadzania danych w edytorze użytkownika z podaną wiadomością i przyciskiem „OK”.
prompt(prompt, buttons)PromptResponseOtwiera okno wprowadzania danych w edytorze użytkownika z danym komunikatem i zestawem przycisków.
prompt(title, prompt, buttons)PromptResponseOtwiera w edytorze okno dialogowe wprowadzania danych z określonym tytułem, komunikatem i zestawem przycisków.
showModalDialog(userInterface, title)voidOtwiera okno modalne okna edytora użytkownika z niestandardową treścią po stronie klienta.
showModelessDialog(userInterface, title)voidOtwiera bezmodne okno dialogowe z edytorem niestandardowych treści po stronie klienta.
showSidebar(userInterface)voidOtwiera 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

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

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

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

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

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

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

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

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

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

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

Wycofane metody