#JP101 Membuat Folder Berkas Otomatis Pada Google Form Berdasarkan Tanggal

Membuat Folder Berkas Otomatis Pada Google Form Berdasarkan Tanggal



1. Silahkan buat Google Form.



2. Hubungkan field yang bertipe Upload File dengan Google Drive.




3. Hubungkan Google Form dengan Spreadsheet (Responses).


4. Pada Spreadsheet(Responses) klik menu Ekstensi/Extensions lalu pilih Apps Script untuk membuat lembar kerja Apps Script.




5. Pada lembar kerja Apps Script terdapat file default yaitu Code.gs



6. Copy dan pastekan script di bawah ini ke Code.gs

Masukkan Password Untuk Melihat Script (Password ada di dalam video)

// Source Code by Javabitpro.com

function onFormSubmit(e) {
  try {
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var responses = e.values;
    
    // Konversi timestamp dari Google Form ke objek Date
    var timestamp = new Date(responses[0]); 
    if (isNaN(timestamp.getTime())) { // Jika gagal, ambil tanggal hari ini
      timestamp = new Date();
    }

    // Format tanggal menjadi dd-MM-yyyy
    var folderName = Utilities.formatDate(timestamp, Session.getScriptTimeZone(), "dd-MM-yyyy");

    var parentFolder = DriveApp.getFolderById("ID_FOLDER_UTAMA"); // Ganti dengan ID folder utama
    var folder;
    var folders = parentFolder.getFoldersByName(folderName);
    
    if (folders.hasNext()) {
      folder = folders.next(); // Gunakan folder jika sudah ada
    } else {
      folder = parentFolder.createFolder(folderName); // Buat folder baru jika belum ada
    }
    
    // Ambil ID berkas dari kolom terakhir (sesuai urutan di Spreadsheet Google Form)
    var fileId = responses[responses.length - 1].match(/[-\w]{25,}/); // Ekstrak ID dari URL Google Drive
    if (fileId) {
      var file = DriveApp.getFileById(fileId[0]);
      file.moveTo(folder); // Pindahkan file ke folder tanggal
      
      // Tulis link baru ke Spreadsheet
      var lastRow = sheet.getLastRow();
      sheet.getRange(lastRow, responses.length).setValue(folder.getUrl()); // Tambahkan URL folder
    }
  } catch (error) {
    Logger.log("Error: " + error.toString());
  }
}

Note : Pada point 17 isikan ID Folder dengan ID Folder Utama yang telah terhubung pada Google Form.


7. Klik ikon Save.


8. Klik menu pada sidebar sebelah kiri, pilih menu Pemicu/Triggers.


9. Klik Tambah Pemicu/Triggers lalu pilih fungsi onFormSubmit, pilih event Saat mengirim formulir lalu klik Simpan.


10. Izinkan otorisasi jika diperlukan (Tutorial ada di video)

11. Google Form sudah siap di share, folder pada Google Drive akan otomatis terbuat berdasarkan tanggal hari ini (Today). Dan file akan terkelompokkan secara otomatis berdasarkan folder tanggal.


SELESAI !!!








Previous Post Next Post