Class Ui

Ui

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 jest powiązany z kontenerem edytora.

// 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.
const ui = SpreadsheetApp.getUi();
const 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 okna dialogowego zwracane przez alert lub PromptResponse.getSelectedButton(), aby wskazać, który przycisk w oknie dialogowym kliknął użytkownik.
ButtonSetButtonSetWyliczenie reprezentujące wstępnie określone, zlokalizowane zestawy co najmniej 1 przycisku okna, które można dodać do alertu lub okna z prośbą o potwierdzenie.

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, komunikatem i zestawem przycisków.
createAddonMenu()MenuTworzy narzędzie do tworzenia, którego można użyć do wstawienia podmenu do menu Rozszerzenia w edytorze.
createMenu(caption)MenuTworzy narzędzie do tworzenia, którego można użyć do dodania menu do interfejsu użytkownika edytora.
prompt(prompt)PromptResponseOtwiera w edytorze użytkownika okno wprowadzania z podanym 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 danym tytułem, komunikatem i zestawem przycisków.
showModalDialog(userInterface, title)voidOtwiera w edytorze użytkownika okno modalne z niestandardową treś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 niestandardowymi treściami po stronie klienta.

Szczegółowa dokumentacja

alert(prompt)

Otwiera w edytorze użytkownika okno z podaną wiadomością i przyciskiem „OK”. Ta metoda wstrzymuje skrypt po stronie serwera, gdy okno jest otwarte. Skrypt zostanie wznowiony po zamknięciu okna przez użytkownika, ale Jdbcpołączenia i LockServiceblokady nie będą utrzymywane podczas zawieszenia. 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ść, która ma być wyświetlana w oknie dialogowym.

Powrót

Button – przycisk kliknięty przez użytkownika.


alert(prompt, buttons)

Otwiera w edytorze użytkownika okno z podaną wiadomością i zestawem przycisków. Ta metoda wstrzymuje skrypt po stronie serwera, gdy okno jest otwarte. Skrypt zostanie wznowiony po zamknięciu okna przez użytkownika, ale Jdbcpołączenia i LockServiceblokady nie będą utrzymywane podczas zawieszenia. 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.
const ui = SpreadsheetApp.getUi();
const 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 być wyświetlana w oknie dialogowym.
buttonsButtonSetZestaw przycisków, które mają być wyświetlane w oknie dialogowym.

Powrót

Button – przycisk kliknięty przez użytkownika.


alert(title, prompt, buttons)

Otwiera w edytorze użytkownika okno z podanym tytułem, komunikatem i zestawem przycisków. Ta metoda wstrzymuje skrypt po stronie serwera, gdy okno dialogowe 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 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.
const ui = SpreadsheetApp.getUi();
const 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ł, który ma się wyświetlać nad oknem dialogowym.
promptStringWiadomość, która ma być wyświetlana w oknie dialogowym.
buttonsButtonSetZestaw przycisków, które mają być wyświetlane w oknie dialogowym.

Powrót

Button – przycisk kliknięty przez użytkownika.


createAddonMenu()

Tworzy narzędzie do tworzenia, którego można użyć do wstawienia podmenu do menu Rozszerzenia w edytorze. Menu nie zostanie zaktualizowane, dopóki nie zostanie wywołana funkcja Menu.addToUi(). Jeśli skrypt jest uruchamiany jako dodatek, nazwa podmenu jest zgodna z nazwą dodatku w sklepie internetowym. Jeśli skrypt jest powiązany bezpośrednio z dokumentem, nazwa podmenu 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 do tworzenia, którego można użyć do dodania menu do interfejsu użytkownika edytora. Menu nie zostanie dodane, dopóki nie zostanie wywołana funkcja Menu.addToUi(). Więcej informacji znajdziesz w przewodniku po menu. Etykieta menu najwyższego poziomu powinna być pisana wielką literą (wszystkie główne słowa zaczynają się wielką literą), a etykieta podmenu powinna być pisana jak w zdaniu (tylko pierwsze słowo zaczyna się wielką literą). Jeśli skrypt jest opublikowany jako dodatek, parametr caption jest ignorowany, a menu jest dodawane jako podmenu menu Rozszerzenia, czyli 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 wielką literą w przypadku menu najwyższego poziomu lub tylko pierwsze słowo jest pisane wielką literą w przypadku podmenu.

Powrót

Menu – nowy kreator menu.


prompt(prompt)

Otwiera w edytorze użytkownika okno wprowadzania z podanym komunikatem i przyciskiem „OK”. Ta metoda wstrzymuje skrypt po stronie serwera, gdy okno dialogowe 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 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.
const ui = SpreadsheetApp.getUi();
const 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 być wyświetlana w oknie dialogowym.

Powrót

PromptResponse – reprezentacja odpowiedzi użytkownika.


prompt(prompt, buttons)

Otwiera w edytorze użytkownika okno dialogowe z podaną wiadomością i zestawem przycisków. Ta metoda wstrzymuje skrypt po stronie serwera, gdy okno dialogowe 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 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.
const ui = SpreadsheetApp.getUi();
const 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 być wyświetlana w oknie dialogowym.
buttonsButtonSetZestaw przycisków, które mają być wyświetlane w oknie dialogowym.

Powrót

PromptResponse – reprezentacja odpowiedzi użytkownika.


prompt(title, prompt, buttons)

Otwiera w edytorze użytkownika okno dialogowe z danym tytułem, komunikatem i zestawem przycisków. Ta metoda wstrzymuje skrypt po stronie serwera, gdy okno jest otwarte. Skrypt jest wznawiany po zamknięciu okna przez użytkownika, ale Jdbc połączenia i LockService blokady nie są zachowywane po zawieszeniu. Więcej informacji znajdziesz w przewodniku po oknach dialogowych 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.
const ui = SpreadsheetApp.getUi();
const 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ł, który ma się wyświetlać nad oknem dialogowym.
promptStringWiadomość, która ma być wyświetlana w oknie dialogowym.
buttonsButtonSetZestaw przycisków, które mają być wyświetlane w oknie dialogowym.

Powrót

PromptResponse – reprezentacja odpowiedzi użytkownika.


showModalDialog(userInterface, title)

Otwiera w edytorze użytkownika okno modalne z niestandardową treścią po stronie klienta. Ta metoda nie wstrzymuje 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 zamknąć okno dialogowe programowo, wywołaj google.script.host.close() po stronie klienta aplikacji internetowej HtmlService. Więcej informacji znajdziesz w przewodniku po oknach dialogowych i paskach bocznych.

Okna modalne uniemożliwiają użytkownikowi interakcję z czymkolwiek innym niż okno. Okna niemodalnepaski boczne umożliwiają użytkownikowi interakcję z edytorem. W większości przypadków lepszym wyborem jest okno modalne lub panel boczny niż okno niemodalne.

// Display a modal dialog box with custom HtmlService content.
const 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
userInterfaceObjectObiekt HtmlOutput reprezentujący interfejs do wyświetlenia.
titleStringTytuł okna. Zastępuje każdy tytuł ustawiony przez wywołanie funkcji setTitle() na obiekcie userInterface.

Autoryzacja

Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego 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 wstrzymuje skrypt po stronie serwera, gdy okno dialogowe 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 zamknąć okno dialogowe programowo, wywołaj google.script.host.close() po stronie klienta aplikacji internetowej HtmlService. Więcej informacji znajdziesz w przewodniku po oknach dialogowych i paskach bocznych.

Okna niemodalne umożliwiają użytkownikowi interakcję z edytorem znajdującym się za oknem. Natomiast okna modalne nie. W większości przypadków lepszym wyborem niż okno niemodalne jest okno modalne lub pasek boczny.

// Display a modeless dialog box with custom HtmlService content.
const 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
userInterfaceObjectObiekt HtmlOutput reprezentujący interfejs do wyświetlenia.
titleStringTytuł okna. Zastępuje każdy tytuł ustawiony przez wywołanie funkcji setTitle() na obiekcie userInterface.

Autoryzacja

Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:

  • https://www.googleapis.com/auth/script.container.ui

showSidebar(userInterface)

Otwiera w edytorze użytkownika pasek boczny z niestandardowymi treściami po stronie klienta. Ta metoda nie wstrzymuje 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 programowo 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.

Użytkownikom, którzy korzystają z języków pisanych od lewej do prawej, pasek boczny wyświetla się po prawej stronie edytora, a użytkownikom, którzy korzystają z języków pisanych od prawej do lewej – po lewej stronie. Wszystkie paski boczne wyświetlane przez skrypty mają szerokość 300 pikseli.

// Display a sidebar with custom HtmlService content.
const htmlOutput = HtmlService
                       .createHtmlOutput(
                           '<p>A change of speed, a change of style...</p>',
                           )
                       .setTitle('My add-on');
SpreadsheetApp.getUi().showSidebar(htmlOutput);

Parametry

NazwaTypOpis
userInterfaceObjectObiekt HtmlOutput reprezentujący interfejs do wyświetlenia.

Autoryzacja

Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:

  • https://www.googleapis.com/auth/script.container.ui

Wycofane metody