balkisanton

Auto Reformat Google Sheets Rows

Apr 6th, 2024
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. /**
  2. * Fungsi onFormSubmit otomatis dipanggil saat respons baru dikirimkan melalui Google Forms.
  3. * Fungsi ini menyalin format dari baris yang ditentukan di sheet "Formatted Sheet" dan
  4. * menerapkannya ke baris baru di sheet "Form Responses 1" yang diisi oleh respons Form.
  5. *
  6. * Format yang disalin meliputi properti sel seperti font, warna, latar, dan tinggi baris.
  7. * Dengan demikian, memastikan bahwa semua entri baru memiliki format yang konsisten
  8. * dengan template yang telah ditentukan.
  9. *
  10. * Catatan: Pastikan sheet "Formatted Sheet" memiliki baris dengan format yang diinginkan
  11. * yang akan digunakan sebagai template untuk disalin.
  12. *
  13. * Trigger: Fungsi ini harus diatur untuk dipicu oleh event 'On form submit'.
  14. */
  15.  
  16. function onFormSubmit(e) {
  17. if (!e) {
  18. // Objek event tidak ada, fungsi mungkin dijalankan manual atau dalam debugger
  19. Logger.log("Fungsi harus dipicu oleh pengajuan formulir.");
  20. return;
  21. }
  22.  
  23. // Ambil objek spreadsheet
  24. var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  25.  
  26. // Ambil sheet 'Form Responses 1' dan 'Formatted Sheet'
  27. var responseSheet = spreadsheet.getSheetByName("Form Responses 1");
  28. var formattedSheet = spreadsheet.getSheetByName("Formatted Sheet");
  29. if (!responseSheet || !formattedSheet) {
  30. Logger.log("Salah satu sheet tidak ditemukan.");
  31. return;
  32. }
  33.  
  34. // Tentukan baris yang baru saja diisi oleh form
  35. var formResponseRow = e.range.getRow();
  36.  
  37. // Tentukan rentang dari mana format akan disalin
  38. var sourceRange = formattedSheet.getRange(2, 1, 1, formattedSheet.getLastColumn());
  39. var targetRange = responseSheet.getRange(formResponseRow, 1, 1, responseSheet.getLastColumn());
  40.  
  41. // Salin format dari baris sumber ke baris tujuan
  42. sourceRange.copyTo(targetRange, SpreadsheetApp.CopyPasteType.PASTE_FORMAT, false);
  43. }
Advertisement
Add Comment
Please, Sign In to add comment