function createCer() {
var dataRangeNotation = 'แผ่น1!A2:D6'; //ข้อมูลชื่อที่ต้องการทำใบประกาศ ไม่เอาส่วนหัว
var dataSpreadsheetId = '[sheet id]'; //Sheet id
var templateId = '[Slide Template id]'; //Slide Template id
var FolderId = '[Folder id]'; //Folder id ที่จะเก็บไฟล์เกียรติบัตรทั้งหมด
var presentationCopyId;
var sheet = SpreadsheetApp.openById(dataSpreadsheetId).getRange(dataRangeNotation);
var values = sheet.getValues();
var lastCols = sheet.activate().getLastColumn();
//เริ่มสร้างเกียรติบัตรตั้งแต่ row เริ่มต้นถึงสุดท้าย
for (var i = 0; i < values.length; ++i) {
var row = values[i];
var Num = row[0]
var Name = row[1];
var cDate = thaiDate(row[2]);
var Complate = row[3];
if (Complate != 'Complete'){ //ตรวจสอบว่าทำการสร้างเกียรติบัตรไปแล้วหรือยัง
var copyTitle = Name + ' How to use Google Classroom'; //ตั้งชื่อไฟล์
var copyFile = {
title: copyTitle,
parents: [{id: FolderId}]
};
copyFile = Drive.Files.copy(copyFile, templateId); //สร้างไฟล์ Slide จาก Template ที่ทำขึ้น
var presentationCopyId = copyFile.id; //Slide id ที่สร้างล่าสุด
// ทำการ merge ชื่อจาก sheet ลงใน slide ตรงคำว่า {{เลขที่}} {{ชื่อ}} {{วันที่}}
requests = [{
replaceAllText: {
containsText: {
text: '{{เลขที่}}',
matchCase: true
},
replaceText: Num
}
},{
replaceAllText: {
containsText: {
text: '{{ชื่อ}}',
matchCase: true
},
replaceText: Name
}
},{
replaceAllText: {
containsText: {
text: '{{วันที่}}',
matchCase: true
},
replaceText: cDate
}
}];
var result = Slides.Presentations.batchUpdate({
requests: requests
}, presentationCopyId);
var numReplacements = 0;
result.replies.forEach(function(reply) {
numReplacements += reply.replaceAllText.occurrencesChanged; //แก้ไขทับไฟล์ที่สร้างขึ้นเมื่อกี้เลย
});
//ทำการ convert จากไฟล์ slide ที่สร้างขึ้นเมื่อกี้เป็น pdf
var file = DriveApp.getFileById(presentationCopyId).getBlob();
DriveApp.getFolderById(FolderId).createFile(file);
//บันทึกใน sheet ว่าส่งแล้ว
sheet.getCell(i+1, lastCols).setValue("Complete");
}
}
}