//โค้ดนี้พัฒนาโดย นายนรินทร์ อนงค์ชัย ครูโรงรียนเทพอุดมวิทยา อ.สังขะ จ.สุรินทร์
var TEMPLATE_ID = '1S8Ucy0ebdEDTlI3Oon6WkCECf1oal5GjpH1BH2kbSCY' //เอามาจาก google slide ที่เราออกแบบแบบรายงาน
///-----------------------------------------------------------
var destinationFolder = ''
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('รายงานการเยี่ยมบ้าน')
.addItem('เริ่มต้นสร้างรายงานการเยี่ยมบ้าน', 'showAlert')
.addToUi();
}
function showAlert() {
var ui = SpreadsheetApp.getUi(); // Same variations.
var result = ui.alert(
'โปรดตรวจสอบ',
'แน่ใจแล้วว่า คลิกรายชื่อตำแหน่งเริ่มต้นถูกต้อง',
ui.ButtonSet.YES_NO);
if (result == ui.Button.YES) {
showPrompt()
} else {
ui.alert('คลิกที่บรรทัดเริ่มต้นใหม่อีกครั้ง');
}
}
function showPrompt() {
var ui = SpreadsheetApp.getUi(); // Same variations.
var result = ui.prompt(
'เลือกโฟลเดอร์จัดเก็บรายงาน',
'โปรดระบุ ID ของโฟลเดอร์ที่เอกสารรายงานเยี่ยมบ้าน',
ui.ButtonSet.OK_CANCEL);
var button = result.getSelectedButton();
var text = result.getResponseText();
if (button == ui.Button.OK) {
if(text == "") {
alert_error()
} else {
destinationFolder = text
home_visiting_report()
}
} else if (button == ui.Button.CANCEL) {
ui.alert('คุณยกเลิกการทำงาน');
} else if (button == ui.Button.CLOSE) {
ui.alert('คุณยกเลิกการทำงาน');
}
}
function alert_error() {
SpreadsheetApp.getUi().alert('คุณไม่ได้ป้อน ID ของโฟลเดอร์ปลายทาง');
}
/////////////////////////////////////////////////////////////////////////////
function home_visiting_report() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet()
var sheets = ss.getSheets()
var certify_sheet = sheets[1]
var active_range = sheet.getActiveRange();
var lastRow = sheet.getLastRow();
var lastColumn = sheet.getLastColumn();
Logger.log("จำนวนคอลัมน์ทั้งหมด = ", lastColumn)
var start_row = sheet.getActiveCell().getRowIndex()
var number_row = lastRow -start_row + 2
var range = sheet.getRange(start_row, 1, number_row , lastColumn);
range.activate()
var rangeValues = range.getValues()
var save_pdf_folder = DriveApp.getFolderById(destinationFolder);
var data = []
for(i = start_row; i< lastRow +1 ; i++){
for (var columnIndex = 1; columnIndex < lastColumn+1; columnIndex++) {
data[columnIndex] = sheet.getRange(i, columnIndex).getValue()
data.push(data[columnIndex])
}
var file = DriveApp.getFileById(TEMPLATE_ID).makeCopy()
var copyFile = file.makeCopy('รายงานสรุปการเยี่ยมบ้าน ของ '+ data[2] +' '+ data[3] + data[4] + ' ' + data[5]);
DriveApp.getFolderById(destinationFolder).addFile(copyFile);
DriveApp.removeFile(copyFile)
var copyId = copyFile.getId()
var copyDoc = SlidesApp.openById(copyId);
var slides = copyDoc.getSlides();
/// ส่วน สไลด์ Slide ที่ 1 -------------------------------------------------------
var templateSlide_1 = slides[0];
var shapes_1 = templateSlide_1.getShapes();
shapes_1.forEach(function (shape) {
shape.getText().replaceAllText("{{รหัสประจำตัวนักเรียน}}", data[2] );
shape.getText().replaceAllText("{{คำนำหน้า}}", data[3] );
shape.getText().replaceAllText("{{ชื่อ}}", data[4]);
shape.getText().replaceAllText("{{นามสกุล}}", data[5]);
shape.getText().replaceAllText("{{ชั้น}}", data[6]);
/////////ทำต่อไปเรื่อย ตามจำนวน ข้อมูลที่มี
});
// แทรกภาพ ใน สไลด์ 1
//templateSlide_1.insertImage(data[11], 420, 30, 160, 107)
//แก้แทรกรูปไม่ได้ ---19/06/2020
var image_id = data[2].replace("https://drive.google.com/open?id=", "");
var IMAGE_URL_1 = 'https://doc.google.com/uc?export=view&id='+ image_id;
templateSlide_1.insertImage(IMAGE_URL_1, 420, 30, 160, 107)
//Slide ที่ 2 //---------------------------------------------------------------------
var templateSlide_2 = slides[1];
var shapes_2 = templateSlide_2.getShapes()
shapes_2.forEach(function (shape) {
shape.getText().replaceAllText("{{รหัสประจำตัวนักเรียน}}", data[3] );
shape.getText().replaceAllText("{{คำนำหน้า}}", data[3] );
shape.getText().replaceAllText("{{ชื่อ}}", data[4]);
shape.getText().replaceAllText("{{นามสกุล}}", data[5]);
/////////ทำต่อไปเรื่อย ตามจำนวน ข้อมูลที่มี
});
//ถ้ามีรูปที่ 2
//อันเดิม templateSlide_2.insertImage(data[12], 120, 200, 350, 233)
//แก้แทรกรูปไม่ได้ ---19/06/2020
var image_id_2 = data[12].replace("https://drive.google.com/open?id=", "");
var IMAGE_URL_2 = 'https://doc.google.com/uc?export=view&id='+ image_id_2;
templateSlide_2.insertImage(IMAGE_URL_2, 120, 200, 350, 233)
//ถ้ามีรูปที่ 3
//อันเดิม templateSlide_2.insertImage(data[13], 120, 500, 350, 233)
//แก้แทรกรูปไม่ได้ ---19/06/2020
var image_id_3 = data[13].replace("https://drive.google.com/open?id=", "");
var IMAGE_URL_3 = 'https://doc.google.com/uc?export=view&id='+ image_id_3;
templateSlide_2.insertImage(IMAGE_URL_3, 120, 500, 350, 233)
//----------------------------------------------------------------------------
copyDoc.saveAndClose();
var pdf_file = DriveApp.createFile(copyFile.getAs("application/pdf"));
save_pdf_folder.addFile(pdf_file);
file.setTrashed(true)
//DriveApp.removeFile(copyFile)
DriveApp.removeFile(pdf_file)
copyFile.setTrashed(true) //ถ้าต้องการ เอาไฟล์ slide ไว้ ให้ใส้ // หน้า บรรทัดนี้
}
}