Class Ui

Ui

instancja środowiska interfejsu użytkownika aplikacji Google, która umożliwia skryptowi dodawanie funkcji takich jak menu, okna dialogowe i paski boczne. Skrypt może wchodzić w interakcję z interfejsem tylko w przypadku bieżącego wystąpienia 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
ButtonButtonTyp enumeracji reprezentujący wstępnie zlokalizowane przyciski dialogu zwracane przez alert lub PromptResponse.getSelectedButton(), aby wskazać, który przycisk w dialogu kliknął użytkownik.
ButtonSetButtonSetTyp enumeracji reprezentujący wstępnie zlokalizowane zestawy co najmniej 1 przycisku dialogu, które można dodać do alertu lub promptu.

Metody

MetodaZwracany typKrótki opis
alert(prompt)ButtonOtwiera okno w edytorze użytkownika z podanym komunikatem i przyciskiem „OK”.
alert(prompt, buttons)ButtonOtwiera okno w edytorze użytkownika z określonym komunikatem i zestawem przycisków.
alert(title, prompt, buttons)ButtonOtwiera okno w edytorze użytkownika z podanym tytułem, komunikatem i zestawem przycisków.
createAddonMenu()MenuTworzy kreator, który umożliwia wstawianie menu podrzędnego do menu „Rozszerzenia” w edytorze.
createMenu(caption)MenuTworzy kreator, za pomocą którego można dodać menu do interfejsu edytora.
prompt(prompt)PromptResponseOtwiera okno z danym komunikatem i przyciskiem „OK” w edytorze użytkownika.
prompt(prompt, buttons)PromptResponseOtwiera okno z danymi do wpisania w edytorze użytkownika, w którym znajduje się określona wiadomość i zestaw przycisków.
prompt(title, prompt, buttons)PromptResponseOtwiera okno dialogowe z danym tytułem, komunikatem i zestawem przycisków w edytorze użytkownika.
showModalDialog(userInterface, title)voidOtwiera okno modalne w edytorze użytkownika z niestandardowymi treściami po stronie klienta.
showModelessDialog(userInterface, title)voidOtwiera w edytorze użytkownika okno bez trybu bezczynności z niestandardowymi treściami po stronie klienta.
showSidebar(userInterface)voidOtwiera pasek boczny w edytorze użytkownika z niestandardowymi treściami po stronie klienta.

Szczegółowa dokumentacja

alert(prompt)

Otwiera okno w edytorze użytkownika z określonym komunikatem i przyciskiem „OK”. Ta metoda zawiesza skrypt po stronie serwera, gdy okno jest otwarte. Skrypt wznawia działanie po tym, jak użytkownik zamknie okno dialogowe, ale połączenia Jdbc i blokady LockService nie są zachowywane 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ść do wyświetlenia w oknie dialogowym.

Powrót

Button – przycisk, który kliknął użytkownik.


alert(prompt, buttons)

Otwiera okno w edytorze użytkownika z określonym komunikatem i zestawem przycisków. Ta metoda zawiesza skrypt po stronie serwera, gdy okno jest otwarte. Skrypt wznawia działanie po tym, jak użytkownik zamknie okno dialogowe, ale połączenia Jdbc i blokady LockService nie są zachowywane 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ść do wyświetlenia w oknie dialogowym.
buttonsButtonSetPrzycisk ustawiony do wyświetlania w oknie dialogowym.

Powrót

Button – przycisk, który kliknął użytkownik.


alert(title, prompt, buttons)

Otwiera okno w edytorze użytkownika 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 tym, jak użytkownik zamknie okno dialogowe, ale Jdbc połączenia i LockServiceblokady nie są zachowywane w czasie zawieszenia. 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ł do wyświetlenia nad oknem dialogowym.
promptStringWiadomość do wyświetlenia w oknie dialogowym.
buttonsButtonSetPrzycisk ustawiony do wyświetlania w oknie dialogowym.

Powrót

Button – przycisk, który kliknął użytkownik.


createAddonMenu()

Tworzy kreator, który umożliwia wstawianie menu podrzędnego 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 kreator, za pomocą którego można 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ć sformatowana jak nazwa własna (wszystkie główne słowa pisane wielką literą), ale etykieta menu podrzędnego powinna być sformatowana jak zdanie (tylko pierwsze słowo pisane wielką literą). Jeśli skrypt jest publikowany jako dodatek, parametr caption jest ignorowany, a menu jest dodawane jako podmenu w menu Rozszerzenia, co jest równoznaczne z 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 menu najwyższego poziomu) lub tylko pierwsze słowo (w menu podrzędnym).

Powrót

Menu – nowy kreator menu.


prompt(prompt)

Otwiera okno z danym komunikatem i przyciskiem „OK” w edytorze użytkownika. Ta metoda zawiesza skrypt po stronie serwera, gdy okno jest otwarte. Skrypt wznawia działanie po tym, jak użytkownik zamknie okno dialogowe, ale Jdbc połączenia i LockServiceblokady nie są zachowywane w czasie zawieszenia. 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ść do wyświetlenia w oknie dialogowym.

Powrót

PromptResponse – reprezentacja odpowiedzi użytkownika.


prompt(prompt, buttons)

Otwiera okno z danymi do wpisania w edytorze użytkownika, w którym znajduje się określona wiadomość i zestaw przycisków. Ta metoda zawiesza skrypt po stronie serwera, gdy okno jest otwarte. Skrypt wznawia działanie po tym, jak użytkownik zamknie okno dialogowe, ale Jdbc połączenia i LockServiceblokady nie są zachowywane w czasie zawieszenia. 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ść do wyświetlenia w oknie dialogowym.
buttonsButtonSetPrzycisk ustawiony do wyświetlania w oknie dialogowym.

Powrót

PromptResponse – reprezentacja odpowiedzi użytkownika.


prompt(title, prompt, buttons)

Otwiera okno dialogowe z danym tytułem, komunikatem i zestawem przycisków w edytorze użytkownika. Ta metoda zawiesza skrypt po stronie serwera, gdy okno jest otwarte. Skrypt wznawia działanie, gdy użytkownik zamknie okno, ale Jdbc połączenia i LockService blokady nie są zachowywane podczas zawieszenia. 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ł do wyświetlenia nad oknem dialogowym.
promptStringWiadomość do wyświetlenia w oknie dialogowym.
buttonsButtonSetPrzycisk ustawiony do wyświetlania w oknie dialogowym.

Powrót

PromptResponse – reprezentacja odpowiedzi użytkownika.


showModalDialog(userInterface, title)

Otwiera okno modalne w edytorze użytkownika z niestandardowymi treściami 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 API google.script w przypadku HtmlService. Aby zamknąć okno programowo, wywołaj funkcję 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. Z kolei okna dialogowe bez trybupaski boczne umożliwiają użytkownikowi interakcję z edytorem. W prawie wszystkich przypadkach lepiej jest użyć modalnego okna dialogowego lub paska bocznego niż zwykłego okna dialogowego.

// 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
userInterfaceObjectHtmlOutput reprezentujący interfejs do wyświetlenia.
titleStringTytuł dialogu; zastępuje dowolny tytuł ustawiony przez wywołanie funkcji setTitle() obiektu userInterface.

Autoryzacja

Skrypty, które korzystają 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 okno bez trybu bezczynności z niestandardowymi treściami 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 API google.script dla HtmlService. Aby zamknąć okno programowo, wywołaj funkcję google.script.host.close() po stronie klienta aplikacji internetowej HtmlService. Więcej informacji znajdziesz w przewodniku po oknach dialogowych i paskach bocznych.

Okna bez trybu umożliwiają użytkownikowi interakcję z edytorem w tle. Natomiast dialogi modalne nie są wyświetlane. W prawie wszystkich przypadkach lepiej jest użyć okna modalnego lub paska bocznej niż okna bez trybu.

// 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
userInterfaceObjectHtmlOutput reprezentujący interfejs do wyświetlenia.
titleStringTytuł dialogu; zastępuje dowolny tytuł ustawiony przez wywołanie funkcji setTitle() obiektu userInterface.

Autoryzacja

Skrypty, które korzystają z tej metody, wymagają autoryzacji z co najmniej jednym z tych zakresów:

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

showSidebar(userInterface)

Otwiera pasek boczny w edytorze użytkownika z niestandardowymi treściami 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 API google.script w przypadku HtmlService. Aby zamknąć panel boczny w drodze programistycznej, wywołaj funkcję google.script.host.close() po stronie klienta w aplikacji internetowej HtmlService. Więcej informacji znajdziesz w przewodniku po oknach dialogowych i panelach bocznych.

Użytkownicy, których środowisko używa języka zapisywanego od lewej do prawej, widzą pasek boczny po prawej stronie edytora, a użytkownicy, których środowisko używa języka zapisywanego od prawej do lewej, widzą go po lewej stronie edytora. 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
userInterfaceObjectHtmlOutput reprezentujący interfejs do wyświetlenia.

Autoryzacja

Skrypty, które korzystają z tej metody, wymagają autoryzacji z co najmniej jednym z tych zakresów:

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

Wycofane metody