Duplikasi File Template Kuisioner dengan Apps Script

Suatu waktu, penulis mendapat tugas untuk membuat kuisioner beberapa karyawan menggunakan Google Spreadsheet.

Di mana daftar karyawan juga telah disediakan pada file Spreadsheet lain seperti ditunjukkan pada gambar di bawah ini:


Skema kerjanya, pertama penulis membuat template kuisioner. Kedua, penulis menduplikasinya, dengan nama file sesuai inisial masing-masing karyawan. Dan terakhir, ketiga, penulis mengumpulkan url tiap file kuisioner tiap karyawan, untuk rekapitulasi.

Kode Apps Script untuk langkah kedua, adalah sebagai berikut:
function duplicateFileAsList() 
{
  var ss = SpreadsheetApp.openById("idsheetinisialkaryawan");//sheet target untuk
  var so=ss.getSheetByName("Dosen");
  var data=so.getRange("A2:D").getValues().map(function(row,index){
    if(row[0]!=""){
      row.push(index);
    }
    return (row[0]!="")?row:null}).filter(function(cellData){return cellData != null;});

  var filesource=DriveApp.getFileById("idspreadsheetkuisioner");
  var folder=DriveApp.getFolderById("idfoldertempatmenyimpanfile");
  for(var i=0;i<data.length;i++){
    filesource.makeCopy(data[i][0],folder);
    console.log(data[i][0]);
  }
}
Sedangkan untuk langkah ketiga, seperti di bawah ini:
function getUrlofFilesinFolder()
{
  var ss = SpreadsheetApp.openById("idspreadshetmenyimpanurl");//sheet target untuk
  var so=ss.getSheetByName("Source");

  var hasil=[],n=0;
  var folder = DriveApp.getFolderById("idfoderfilbersangkutan"); 
  var files = folder.getFiles();
  while (files.hasNext()){
    var file = files.next();
    var name=file.getName();
    var url=file.getUrl();
    hasil[n]=[name,url];
    n++;
    console.log(file.getName());
  }
  so.getRange(2,1,hasil.length,2).setValues(hasil);
}
Tampilan hasil duplikasinya, kurang lebih dapat dilihat gambar sebagaimana berikut:


Sedangkan untuk tahap rekapitulasi, mungkin akan penulis posting pada tulisan berikutnya.

Sebenarnya, langkah ketiga dapat dijadikan satu dengan langkah kedua. Namun saat penulis mengerjakan pekerjaan ini, karena kuisionernya masih dirancang sambil berjalan, penulis lebih memilih untuk melihat datanya terlebih dahulu, baru direkapitulasi.

Komentar



Postingan populer dari blog ini

Jasa Penjadwalan Semester, UTS dan UAS Perguruan Tinggi menggunakan Google Sheet

Apps Script untuk Cetak Sertifikat

Peringatan: Aksi Penipuan Skimming Melalui Aplikasi Android M-Pajak

Kebodohan Karyawan Menyalahkan Sistem

Checking Data yang Belum Dimasukkan dalam Daftar Menggunakan Query Google Sheet

Menyikapi Ucapan AI Pejabat

Ketika Pengelola Basis Data Terabaikan

Kumpulan Source Code Greenfoot

Apps Script untuk Mengirimkan Notifikasi Approval

Menyembunyikan Failed Load Images di Blogger