Class Ui

Ui

Instance lingkungan antarmuka pengguna untuk Aplikasi Google yang memungkinkan skrip menambahkan fitur seperti menu, dialog, dan sidebar. Skrip hanya dapat berinteraksi dengan UI untuk instance editor yang terbuka saat ini, dan hanya jika skrip terikat ke penampung editor.

// 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.');
}

Properti

PropertiJenisDeskripsi
ButtonButtonEnum yang merepresentasikan tombol dialog yang telah ditentukan dan dilokalkan yang ditampilkan oleh alert atau PromptResponse.getSelectedButton() untuk menunjukkan tombol mana dalam dialog yang diklik pengguna.
ButtonSetButtonSetEnum yang merepresentasikan kumpulan tombol dialog yang telah ditentukan dan dilokalkan yang dapat ditambahkan ke alert atau prompt.

Metode

MetodeJenis nilai yang ditampilkanDeskripsi singkat
alert(prompt)ButtonMembuka kotak dialog di editor pengguna dengan pesan yang diberikan dan tombol "Oke".
alert(prompt, buttons)ButtonMembuka kotak dialog di editor pengguna dengan pesan dan kumpulan tombol tertentu.
alert(title, prompt, buttons)ButtonMembuka kotak dialog di editor pengguna dengan judul, pesan, dan kumpulan tombol yang diberikan.
createAddonMenu()MenuMembuat builder yang dapat digunakan untuk menyisipkan submenu ke menu Ekstensi editor.
createMenu(caption)MenuMembuat builder yang dapat digunakan untuk menambahkan menu ke antarmuka pengguna editor.
prompt(prompt)PromptResponseMembuka kotak dialog input di editor pengguna dengan pesan yang diberikan dan tombol "OK".
prompt(prompt, buttons)PromptResponseMembuka kotak dialog input di editor pengguna dengan pesan dan kumpulan tombol yang diberikan.
prompt(title, prompt, buttons)PromptResponseMembuka kotak dialog input di editor pengguna dengan judul, pesan, dan kumpulan tombol yang diberikan.
showModalDialog(userInterface, title)voidMembuka kotak dialog modal di editor pengguna dengan konten sisi klien kustom.
showModelessDialog(userInterface, title)voidMembuka kotak dialog tanpa modal di editor pengguna dengan konten sisi klien kustom.
showSidebar(userInterface)voidMembuka sidebar di editor pengguna dengan konten sisi klien kustom.

Dokumentasi mendetail

alert(prompt)

Membuka kotak dialog di editor pengguna dengan pesan yang diberikan dan tombol "Oke". Metode ini menangguhkan skrip sisi server saat dialog terbuka. Skrip dilanjutkan setelah pengguna menutup dialog, tetapi Jdbc koneksi dan LockService kunci tidak dipertahankan selama penangguhan. Untuk mengetahui informasi selengkapnya, lihat panduan untuk dialog dan sidebar.

// 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');

Parameter

NamaJenisDeskripsi
promptStringPesan yang akan ditampilkan dalam kotak dialog.

Pulang pergi

Button — Tombol yang diklik pengguna.


alert(prompt, buttons)

Membuka kotak dialog di editor pengguna dengan pesan dan kumpulan tombol tertentu. Metode ini menangguhkan skrip sisi server saat dialog terbuka. Skrip dilanjutkan setelah pengguna menutup dialog, tetapi Jdbc koneksi dan LockService kunci tidak dipertahankan selama penangguhan. Untuk mengetahui informasi selengkapnya, lihat panduan untuk dialog dan sidebar.

// 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.',
  );
}

Parameter

NamaJenisDeskripsi
promptStringPesan yang akan ditampilkan dalam kotak dialog.
buttonsButtonSetSet tombol yang akan ditampilkan dalam kotak dialog.

Pulang pergi

Button — Tombol yang diklik pengguna.


alert(title, prompt, buttons)

Membuka kotak dialog di editor pengguna dengan judul, pesan, dan kumpulan tombol yang diberikan. Metode ini menangguhkan skrip sisi server saat dialog terbuka. Skrip dilanjutkan setelah pengguna menutup dialog, tetapi koneksi Jdbc dan kunci LockService tidak dipertahankan selama penangguhan. Untuk mengetahui informasi selengkapnya, lihat panduan untuk dialog dan sidebar.

// 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.',
  );
}

Parameter

NamaJenisDeskripsi
titleStringJudul yang akan ditampilkan di atas kotak dialog.
promptStringPesan yang akan ditampilkan dalam kotak dialog.
buttonsButtonSetSet tombol yang akan ditampilkan dalam kotak dialog.

Pulang pergi

Button — Tombol yang diklik pengguna.


createAddonMenu()

Membuat builder yang dapat digunakan untuk menyisipkan submenu ke menu Ekstensi editor. Menu tidak akan diperbarui hingga Menu.addToUi() dipanggil. Jika skrip berjalan sebagai add-on, nama sub-menu cocok dengan nama add-on di web store; jika skrip terikat langsung ke dokumen, nama sub-menu cocok dengan nama skrip. Untuk mengetahui informasi selengkapnya, lihat panduan 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();
}

Pulang pergi

Menu — Pembuat menu baru.


createMenu(caption)

Membuat builder yang dapat digunakan untuk menambahkan menu ke antarmuka pengguna editor. Menu tidak benar-benar ditambahkan hingga Menu.addToUi() dipanggil. Untuk mengetahui informasi selengkapnya, lihat panduan menu. Label untuk menu tingkat teratas harus menggunakan kapitalisasi judul (semua kata utama menggunakan huruf besar), meskipun label untuk sub-menu harus menggunakan kapitalisasi kalimat (hanya kata pertama yang menggunakan huruf besar). Jika skrip dipublikasikan sebagai add-on, parameter caption akan diabaikan dan menu ditambahkan sebagai sub-menu dari menu Ekstensi, yang setara dengan 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();
}

Parameter

NamaJenisDeskripsi
captionStringLabel untuk menu, dengan semua kata utama dikapitalisasi untuk menu tingkat teratas, atau hanya kata pertama yang dikapitalisasi untuk sub-menu.

Pulang pergi

Menu — Pembuat menu baru.


prompt(prompt)

Membuka kotak dialog input di editor pengguna dengan pesan yang diberikan dan tombol "OK". Metode ini menangguhkan skrip sisi server saat dialog terbuka. Skrip dilanjutkan setelah pengguna menutup dialog, tetapi koneksi Jdbc dan kunci LockService tidak dipertahankan selama penangguhan. Untuk mengetahui informasi selengkapnya, lihat panduan untuk dialog dan sidebar.

// 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.');
}

Parameter

NamaJenisDeskripsi
promptStringPesan yang akan ditampilkan dalam kotak dialog.

Pulang pergi

PromptResponse — Representasi respons pengguna.


prompt(prompt, buttons)

Membuka kotak dialog input di editor pengguna dengan pesan dan kumpulan tombol yang diberikan. Metode ini menangguhkan skrip sisi server saat dialog terbuka. Skrip dilanjutkan setelah pengguna menutup dialog, tetapi koneksi Jdbc dan kunci LockService tidak dipertahankan selama penangguhan. Untuk mengetahui informasi selengkapnya, lihat panduan untuk dialog dan sidebar.

// 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.');
}

Parameter

NamaJenisDeskripsi
promptStringPesan yang akan ditampilkan dalam kotak dialog.
buttonsButtonSetSet tombol yang akan ditampilkan dalam kotak dialog.

Pulang pergi

PromptResponse — Representasi respons pengguna.


prompt(title, prompt, buttons)

Membuka kotak dialog input di editor pengguna dengan judul, pesan, dan kumpulan tombol yang diberikan. Metode ini menangguhkan skrip sisi server saat dialog terbuka. Skrip dilanjutkan setelah pengguna menutup dialog, tetapi koneksi Jdbc dan kunci LockService tidak tetap ada selama penangguhan. Untuk mengetahui informasi selengkapnya, lihat panduan untuk dialog dan sidebar.

// 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.');
}

Parameter

NamaJenisDeskripsi
titleStringJudul yang akan ditampilkan di atas kotak dialog.
promptStringPesan yang akan ditampilkan dalam kotak dialog.
buttonsButtonSetSet tombol yang akan ditampilkan dalam kotak dialog.

Pulang pergi

PromptResponse — Representasi respons pengguna.


showModalDialog(userInterface, title)

Membuka kotak dialog modal di editor pengguna dengan konten sisi klien kustom. Metode ini tidak menangguhkan skrip sisi server saat dialog terbuka. Untuk berkomunikasi dengan skrip sisi server, komponen sisi klien harus membuat callback asinkron menggunakan google.script API untuk HtmlService. Untuk menutup dialog secara terprogram, panggil google.script.host.close() di sisi klien aplikasi web HtmlService. Untuk informasi selengkapnya, lihat panduan untuk dialog dan sidebar.

Dialog modal mencegah pengguna berinteraksi dengan apa pun selain dialog. Sebaliknya, dialog tanpa modal dan sidebar memungkinkan pengguna berinteraksi dengan editor. Dalam hampir semua kasus, dialog atau sidebar modal adalah pilihan yang lebih baik daripada dialog tanpa modal.

// 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');

Parameter

NamaJenisDeskripsi
userInterfaceObjectHtmlOutput yang merepresentasikan antarmuka yang akan ditampilkan.
titleStringJudul dialog; menggantikan judul apa pun yang ditetapkan dengan memanggil setTitle() pada objek userInterface.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

showModelessDialog(userInterface, title)

Membuka kotak dialog tanpa modal di editor pengguna dengan konten sisi klien kustom. Metode ini tidak menangguhkan skrip sisi server saat dialog terbuka. Untuk berkomunikasi dengan skrip sisi server, komponen sisi klien harus membuat callback asinkron menggunakan API google.script untuk HtmlService. Untuk menutup dialog secara terprogram, panggil google.script.host.close() di sisi klien aplikasi web HtmlService. Untuk informasi selengkapnya, lihat panduan untuk dialog dan sidebar.

Dialog tanpa modal memungkinkan pengguna berinteraksi dengan editor di belakang dialog. Sebaliknya, dialog modal tidak. Hampir di semua kasus, dialog modal atau sidebar adalah pilihan yang lebih baik daripada dialog tanpa modal.

// 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');

Parameter

NamaJenisDeskripsi
userInterfaceObjectHtmlOutput yang merepresentasikan antarmuka yang akan ditampilkan.
titleStringJudul dialog; menggantikan judul apa pun yang ditetapkan dengan memanggil setTitle() pada objek userInterface.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

showSidebar(userInterface)

Membuka sidebar di editor pengguna dengan konten sisi klien kustom. Metode ini tidak menangguhkan skrip sisi server saat sidebar terbuka. Untuk berkomunikasi dengan skrip sisi server, komponen sisi klien harus membuat callback asinkron menggunakan google.script API untuk HtmlService. Untuk menutup sidebar secara terprogram, panggil google.script.host.close() di sisi klien aplikasi web HtmlService. Untuk informasi selengkapnya, lihat panduan untuk dialog dan sidebar.

Sidebar ditampilkan di sisi kanan editor untuk pengguna yang lingkungan kerjanya menggunakan bahasa kiri-ke-kanan dan di sisi kiri editor untuk bahasa kanan-ke-kiri. Semua sidebar yang ditampilkan oleh skrip memiliki lebar 300 piksel.

// 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);

Parameter

NamaJenisDeskripsi
userInterfaceObjectHtmlOutput yang merepresentasikan antarmuka yang akan ditampilkan.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

Metode yang tidak digunakan lagi