Memperluas Google Spreadsheet

Google Apps Script memungkinkan Anda melakukan hal-hal baru dan keren dengan Google Spreadsheet. Anda dapat gunakan Apps Script untuk menambahkan menu khusus, dialog, dan sidebar ke Google Spreadsheet. Anda juga memungkinkan Anda menulis fungsi kustom untuk Spreadsheet, serta mengintegrasikan Spreadsheet dengan Layanan Google seperti Kalender, Drive, dan Gmail Anda.

Sebagian besar skrip yang dirancang untuk Google Spreadsheet memanipulasi array berinteraksi dengan sel, baris, dan kolom dalam {i>spreadsheet<i}. Jika Anda tidak familier dengan susunan di JavaScript, Codecademy menawarkan modul pelatihan yang bagus untuk array. (Perhatikan bahwa kursus ini tidak dikembangkan oleh dan tidak terkait dengan Google.)

Untuk pengantar singkat tentang penggunaan Apps Script dengan Google Sheets, lihat Panduan memulai 5 menit untuk Makro, Menu, dan Fungsi Kustom.

Mulai

Apps Script menyertakan API khusus agar Anda dapat membuat, membaca, dan mengedit Google Spreadsheet. Apps Script dapat berinteraksi dengan Google Spreadsheet dalam dua jenis cara: skrip apa pun dapat membuat atau mengubah {i>spreadsheet<i} jika pengguna skrip telah izin akses yang sesuai untuk {i>spreadsheet<i}, dan skrip juga dapat terikat dengan spreadsheet, yang memberikan kemampuan khusus pada skrip untuk mengubah antarmuka pengguna atau merespons ketika {i>spreadsheet <i}akan dibuka. Untuk membuat skrip terikat, pilih Ekstensi &gt; Apps Script dari dalam dan rencana project dengan Google Spreadsheet.

Layanan Spreadsheet memperlakukan Google Spreadsheet sebagai petak, yang beroperasi dengan array dua dimensi. Untuk mengambil data yang ada di {i>spreadsheet<i} tersebut, maka Anda harus mendapatkan akses ke {i>spreadsheet<i} di mana data yang tersimpan, dapatkan rentang dalam {i>spreadsheet <i}yang menyimpan data, lalu dapatkan nilai-nilai dari sel. Apps Script memfasilitasi akses ke data dengan membaca data terstruktur dalam {i>spreadsheet <i}dan membuat objek JavaScript untuk mereka.

Membaca data

Misalkan Anda memiliki daftar nama produk dan nomor produk yang Anda simpan di {i>spreadsheet<i}, seperti yang ditunjukkan dalam gambar di bawah ini.

Contoh di bawah ini menunjukkan cara mengambil dan mencatat nama produk dan produk angka.

function logProductInfo() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  for (var i = 0; i < data.length; i++) {
    Logger.log('Product name: ' + data[i][0]);
    Logger.log('Product number: ' + data[i][1]);
  }
}

Lihat log

Untuk melihat data yang telah dicatat, di bagian atas editor skrip, klik Log eksekusi.

Menulis data

Untuk menyimpan data, seperti nama dan nomor produk baru ke {i>spreadsheet<i}, tambahkan kode berikut ke bagian akhir skrip.

function addProduct() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow(['Cotton Sweatshirt XL', 'css004']);
}

Kode di atas menambahkan baris baru di bagian bawah {i>spreadsheet<i}, dengan nilai-nilai yang ditentukan. Jika Anda menjalankan fungsi ini, Anda akan melihat baris baru ditambahkan ke {i>spreadsheet<i}.

Menu khusus dan antarmuka pengguna

Anda dapat menyesuaikan {i>Google Sheets<i} dengan menambahkan menu khusus, kotak dialog, dan sidebar. Untuk mempelajari dasar-dasar pembuatan menu, lihat panduan menu. Untuk mempelajari cara menyesuaikan konten kotak dialog, lihat panduan layanan HTML.

Anda juga dapat melampirkan fungsi skrip ke gambar {i>spreadsheet<i}; fungsi akan dieksekusi ketika pengguna mengklik gambar atau menggambar. Untuk mempelajari lebih lanjut, lihat Gambar dan Gambar di Google Spreadsheet.

Jika Anda berencana untuk menerbitkan antarmuka khusus sebagai bagian dari add-on, ikuti panduan gaya untuk konsistensi dengan gaya dan tata letak editor Google Sheets.

Menghubungkan ke Google Formulir

Apps Script memungkinkan Anda menghubungkan Google Formulir dengan Google Spreadsheet melalui Formulir dan Layanan Spreadsheet. Fitur ini dapat membuat Formulir Google secara otomatis berdasarkan data yang ada di {i>spreadsheet<i}. Dengan Apps Script, Anda juga dapat menggunakan pemicu, seperti onFormSubmit untuk melakukan tindakan tertentu setelah pengguna merespons formulir. Untuk mempelajari lebih lanjut cara menghubungkan Google Spreadsheet ke Google Formulir, coba tutorial Mengelola Panduan memulai 5 menit Respons untuk Google Formulir.

Pemformatan

Class Range memiliki metode seperti setBackground(color) untuk mengakses dan memodifikasi format sel atau rentang sel. Hal berikut contoh menunjukkan cara menetapkan gaya font rentang:

function formatMySpreadsheet() {
  // Set the font style of the cells in the range of B2:C2 to be italic.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var cell = sheet.getRange('B2:C2');
  cell.setFontStyle('italic');
}

Validasi data

Apps Script memungkinkan Anda mengakses aturan validasi data yang ada di Google Spreadsheet atau membuat aturan baru. Misalnya, contoh berikut menunjukkan cara menyetel aturan validasi data yang hanya mengizinkan angka antara 1 dan 100 dalam satu sel.

function validateMySpreadsheet() {
  // Set a rule for the cell B4 to be a number between 1 and 100.
  var cell = SpreadsheetApp.getActive().getRange('B4');
  var rule = SpreadsheetApp.newDataValidation()
     .requireNumberBetween(1, 100)
     .setAllowInvalid(false)
     .setHelpText('Number must be between 1 and 100.')
     .build();
  cell.setDataValidation(rule);
}

Untuk detail selengkapnya tentang cara menangani aturan validasi data, lihat SpreadsheetApp.newDataValidation(), DataValidationBuilder, dan Range.setDataValidation(rule)

Diagram

Apps Script memungkinkan Anda menyematkan diagram dalam spreadsheet yang mewakili data dalam rentang tertentu. Contoh berikut menghasilkan bagan batang yang disematkan, dengan asumsi Anda memiliki data yang dapat dibuat diagram di sel A1:B15:

function newChart() {
  // Generate a chart representing the data in the range of A1:B15.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.BAR)
     .addRange(sheet.getRange('A1:B15'))
     .setPosition(5, 5, 0, 0)
     .build();

  sheet.insertChart(chart);
}

Untuk mempelajari lebih lanjut tentang cara menyematkan bagan ke dalam {i>spreadsheet<i}, lihat EmbeddedChart dan pembuat diagram yang spesifik, seperti EmbeddedPieChartBuilder.

Fungsi kustom di Google Spreadsheet

Fungsi kustom mirip dengan fungsi spreadsheet bawaan seperti =SUM(A1:A5) kecuali Anda menentukan perilaku fungsi dengan Apps Script. Misalnya, Anda dapat membuat in2mm(), yang mengonversi nilai dari inci menjadi milimeter, lalu menggunakan formula di spreadsheet Anda dengan mengetikkan =in2mm(A1) atau =in2mm(10) ke dalam sel.

Untuk mempelajari lebih lanjut fungsi kustom, coba Menu dan Fungsi Kustom panduan memulai 5 menit, atau lihat panduan yang lebih mendalam panduan untuk fungsi kustom.

Makro

Makro adalah cara lain untuk menjalankan kode Apps Script dari UI Google Spreadsheet. Tidak seperti fungsi kustom, Anda mengaktifkannya dengan pintasan {i>keyboard<i} atau melalui menu Google Sheets. Untuk informasi selengkapnya, lihat Makro Google Spreadsheet.

Add-on untuk Google Spreadsheet

Add-on adalah Apps Script yang dikemas secara khusus project yang berjalan di dalam Google Sheets dan dapat diinstal dari toko add-on Google Spreadsheet. Jika Anda telah mengembangkan skrip untuk Google Spreadsheet dan ingin membagikannya dengan dunia, Apps Script memungkinkan Anda memublikasikan skrip Anda sebagai add-on ini sehingga pengguna lain dapat menginstalnya dari toko add-on tersebut.

Pemicu

Skrip yang terikat dengan file Google Spreadsheet dapat menggunakan pemicu sederhana seperti fungsi onOpen() dan onEdit() untuk merespons secara otomatis ketika pengguna yang memiliki izin edit akses ke {i>spreadsheet <i}akan membuka atau mengedit {i>spreadsheet<i}.

Seperti {i>trigger<i} sederhana, pemicu yang dapat diinstal memungkinkan Google Spreadsheet menjalankan fungsi secara otomatis ketika peristiwa tertentu terjadi. Dapat diinstal Namun, {i>trigger<i} menawarkan lebih banyak fleksibilitas daripada pemicu dan dukungan sederhana peristiwa berikut: buka, edit, ubah, pengiriman formulir, dan berdasarkan waktu (jam).