Menu Kustom di Google Workspace

Skrip dapat memperluas produk Google tertentu dengan menambahkan elemen antarmuka pengguna yang, saat diklik, akan mengeksekusi fungsi Apps Script. Contoh yang paling umum adalah menjalankan skrip dari item menu khusus di Google Dokumen, Spreadsheet, Slide, atau Formulir, tetapi fungsi skrip juga dapat dipicu dengan mengklik gambar dan gambar di Google Sheets.

Menu kustom di Google Dokumen, Spreadsheet, Slide, atau Formulir

Apps Script dapat menambahkan menu baru di Google Dokumen, Spreadsheet, Slide, atau Formulir, dengan setiap item menu yang terkait dengan fungsi dalam suatu skrip. (Di Google Formulir, menu khusus hanya terlihat oleh editor yang membuka formulir untuk mengubahnya, bukan oleh pengguna yang akan membuka formulir untuk merespons.)

Skrip hanya dapat membuat menu jika terikat ke dokumen, spreadsheet, atau formulir. Untuk menampilkan menu saat pengguna membuka file, tulis kode menu dalam fungsi onOpen().

Contoh di bawah ini menunjukkan cara menambahkan menu dengan satu item, diikuti dengan pemisah visual, lalu sub-menu yang berisi item lain. (Perhatikan bahwa di Google Sheets, kecuali Anda menggunakan versi baru, Anda harus menggunakan addMenu() {i>syntax<i} sebagai gantinya, dan sub-menu tidak dimungkinkan). Saat pengguna memilih item menu, fungsi yang sesuai akan membuka alert dialog. Untuk selengkapnya informasi tentang jenis dialog yang dapat Anda buka, lihat panduan untuk dialog dan sidebar.

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  // Or DocumentApp, SlidesApp or FormApp.
  ui.createMenu('Custom Menu')
      .addItem('First item', 'menuItem1')
      .addSeparator()
      .addSubMenu(ui.createMenu('Sub-menu')
          .addItem('Second item', 'menuItem2'))
      .addToUi();
}

function menuItem1() {
  SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
     .alert('You clicked the first menu item!');
}

function menuItem2() {
  SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
     .alert('You clicked the second menu item!');
}

Dokumen, {i>spreadsheet<i}, presentasi, atau formulir hanya dapat berisi satu menu dengan nama tertentu. Jika skrip yang sama atau skrip lain menambahkan menu dengan maka menu baru akan menggantikan menu yang lama. Menu tidak dapat dihapus saat file terbuka, meskipun Anda dapat menulis fungsi onOpen() untuk melewati menu di masa mendatang jika properti tertentu ditetapkan.

Gambar yang dapat diklik di Google Spreadsheet

Anda juga dapat menetapkan fungsi Apps Script ke gambar atau gambar di Google Spreadsheet, asalkan skrip terikat ke spreadsheet. Contoh di bawah menunjukkan cara menyiapkannya.

  1. Di Google Spreadsheet, pilih item menu Ekstensi &gt; Apps Script untuk membuat {i>script<i} yang terikat pada {i>spreadsheet<i}.
  2. Hapus kode apa pun di editor skrip dan tempelkan kode di bawah ini.

      function showMessageBox() {
        Browser.msgBox('You clicked it!');
      }
    
  3. Kembali ke Spreadsheet dan sisipkan gambar dengan memilih Sisipkan > Gambar atau Sisipkan > Gambar.

  4. Setelah menyisipkan gambar atau beberapa gambar, klik gambar tersebut. Menu {i>drop-down<i} berukuran kecil pemilih akan muncul di sudut kanan atas. Klik dan pilih Tetapkan skrip.

  5. Di kotak dialog yang muncul, ketik nama fungsi Apps Script yang ingin Anda jalankan, tanpa tanda kurung — dalam hal ini, showMessageBox. Klik Oke.

  6. Klik gambar lagi. Sekarang fungsi dijalankan.