Memperluas Google Spreadsheet

Google Apps Script memungkinkan Anda melakukan berbagai hal baru dan keren dengan Google Spreadsheet. Anda dapat menggunakan Apps Script untuk menambahkan menu kustom, dialog, dan sidebar ke Google Spreadsheet. Selain itu, Anda juga dapat menulis fungsi kustom untuk Spreadsheet, serta mengintegrasikan Spreadsheet dengan layanan Google lainnya, seperti Kalender, Drive, dan Gmail.

Sebagian besar skrip yang didesain untuk Google Spreadsheet memanipulasi array untuk berinteraksi dengan sel, baris, dan kolom dalam spreadsheet. Jika Anda tidak mengenal array dalam JavaScript, Codecademy menawarkan modul pelatihan yang bagus untuk array. (Perlu diketahui bahwa kursus ini tidak dikembangkan oleh dan tidak terkait dengan Google.)

Untuk pengenalan singkat tentang penggunaan Apps Script dengan Google Spreadsheet, lihat panduan memulai cepat 5 menit untuk Makro, Menu, dan Fungsi Kustom.

Memulai

Apps Script menyertakan API khusus agar Anda dapat membuat, membaca, dan mengedit Google Spreadsheet secara terprogram. Apps Script dapat berinteraksi dengan Google Spreadsheet dalam dua cara yang luas: skrip apa pun dapat membuat atau mengubah spreadsheet jika pengguna skrip memiliki izin yang sesuai untuk spreadsheet, dan skrip juga dapat terikat dengan spreadsheet, yang memberikan kemampuan khusus skrip untuk mengubah antarmuka pengguna atau merespons saat spreadsheet dibuka. Untuk membuat skrip terikat, pilih Extensions > Apps Script dari dalam Google Spreadsheet.

Layanan spreadsheet memperlakukan Google Spreadsheet sebagai petak, yang beroperasi dengan array dua dimensi. Untuk mengambil data dari spreadsheet, Anda harus mendapatkan akses ke spreadsheet tempat data disimpan, mendapatkan rentang dalam spreadsheet yang menyimpan data, lalu mendapatkan nilai sel. Apps Script memfasilitasi akses ke data dengan membaca data terstruktur di spreadsheet dan membuat objek JavaScript untuk data tersebut.

Membaca data

Misalnya, Anda memiliki daftar nama produk dan nomor produk yang Anda simpan di spreadsheet, seperti yang ditunjukkan pada gambar di bawah.

Contoh di bawah menunjukkan cara mengambil dan mencatat nama produk serta nomor produk.

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]);
  }
}

Melihat log

Untuk melihat data yang telah dicatat dalam log, di bagian atas editor skrip, klik Execution log.

Menulis data

Untuk menyimpan data, seperti nama dan nomor produk baru ke spreadsheet, 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 spreadsheet, dengan nilai yang ditentukan. Jika menjalankan fungsi ini, Anda akan melihat baris baru yang ditambahkan ke spreadsheet.

Menu kustom dan antarmuka pengguna

Anda dapat menyesuaikan Google Spreadsheet 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 untuk layanan HTML.

Anda juga dapat melampirkan fungsi skrip ke gambar atau gambar dalam spreadsheet; fungsi tersebut akan dijalankan ketika pengguna mengklik gambar atau gambar. Untuk mempelajari lebih lanjut, lihat Gambar dan Gambar di Google Spreadsheet.

Jika Anda berencana untuk memublikasikan antarmuka kustom sebagai bagian dari add-on, ikuti panduan gaya agar konsisten dengan gaya dan tata letak editor Google Spreadsheet.

Menghubungkan ke Google Formulir

Apps Script memungkinkan Anda menghubungkan Google Formulir dengan Google Spreadsheet melalui layanan Formulir dan Spreadsheet. Fitur ini dapat membuat Formulir Google secara otomatis berdasarkan data dalam spreadsheet. Apps Script juga memungkinkan Anda menggunakan pemicu, seperti onFormSubmit untuk melakukan tindakan tertentu setelah pengguna merespons formulir. Untuk mempelajari lebih lanjut cara menghubungkan Google Spreadsheet ke Google Formulir, coba panduan 5 menit untuk Mengelola Respons untuk Google Formulir.

Pemformatan

Class Range memiliki metode seperti setBackground(color) untuk mengakses dan mengubah format sel atau rentang sel. Contoh berikut 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 menetapkan aturan validasi data yang hanya mengizinkan angka antara 1 dan 100 pada 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 mengetahui 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 diagram batang tersemat, dengan asumsi Anda memiliki data yang dapat dibuat diagramnya 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 cara menyematkan diagram ke spreadsheet, lihat EmbeddedChart dan pembuat diagram tertentu, seperti EmbeddedPieChartBuilder.

Fungsi kustom di Google Spreadsheet

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

Untuk mempelajari fungsi kustom lebih lanjut, baca panduan memulai Menu dan Fungsi Kustom selama 5 menit, atau baca panduan fungsi kustom secara lebih mendalam.

Makro

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

Add-on untuk Google Spreadsheet

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

Pemicu

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

Seperti pemicu sederhana, pemicu yang dapat diinstal memungkinkan Google Spreadsheet menjalankan fungsi secara otomatis saat terjadi peristiwa tertentu. Namun, pemicu yang dapat diinstal menawarkan lebih banyak fleksibilitas daripada pemicu sederhana dan mendukung peristiwa berikut: membuka, mengedit, mengubah, pengiriman formulir, dan berbasis waktu (jam).