เพิ่มเติม ใน คลิปไม่ได้กล่าวถึง ว่าให้ Scipt ทำงานอัตโนมัติ ฝาก ทุกท่าน
หลัง copy ไปวาง ให้
คลิก กำหนด ทริกเกอร์ ตามหมายเลข ตามลำดับ ด้วย นะครับ
//https://docs.google.com/spreadsheets/d/11lf6O0jFNO-W-10d6pxqkOaKorZleQqCwwZGLA__dPw/edit?usp=sharing
//เพิ่มเติม ใน คลิปไม่ได้กล่าวถึง ว่าให้ Scipt ทำงานอัตโนมัติ ฝาก ทุกท่าน คลิก กำหนด ทริกเกอร์ ตามหมายเลข ตามลำดับ ด้วย ครับ
// 1. คลิกที่รูป นาฬิกา
// 2. คลิกที่ ปุ่ม + เพิ่มทริกเกอร์
// 3. เลือกประเภทเหตุการณ์เป็น "เมื่อส่งฟอร์ม"
// 4. คลิกบันทึก
// 5. เลือก อีเมล์ที่ใช้งาน
// 6. กดปุ่ม Allow
// เสร็จสิ้นการกำหนดให้ google form ทำงานทุกครั้งที่มีคนส่งฟอร์มมา และ เขาจะได้อีเมล์ภายใน 5 นาที
// และเราจะได้ ฐานข้อมูลเก็บไว้ที่ google sheet นี้
var SAVE_FOLDER_ID = '1UTf3-PmiXkmf-OGa72GJQ2oAgVNde9OS'
var file_name = 'พิธีเปิด-ปิดประชุมกองลูกเสือ.pdf' //แจ้งชื่อไฟล์
var EMAIL_SENT = "ตอบอีเมล์แล้ว"; //เอาไว้แสดงบน google sheet ว่าได้ ส่งอีเมลืไปแล้ว
var sentCol = 10; // คอลัมน์ที่ คำว่า ตอบอีเมล์แล้ว ปรากฏ เริ่มนับจากคอลัมน์แรก คือ 1
function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet(); //ใช้ข้อมูลบน google sheet ที่เปิดนี้
var dataRange = sheet.getDataRange();
var data = dataRange.getValues(); // ดึงข้อมูลมาทั้งหมด
var pdf_file, save_pdf_folder; // กำหนดตัวแปร
save_pdf_folder = DriveApp.getFolderById(SAVE_FOLDER_ID); // ให้ Drive อ่านข้อมูลใน folder ที่กำหนด ชื่อ SAVE_FOLDER_ID
pdf_file = save_pdf_folder.getFilesByName(file_name) //ระบุชื่อไฟล์ให้ ตัวแปล pdf_file
// if(pdf_file.hasNext()){
while (pdf_file.hasNext()){
var file = pdf_file.next();
Logger.log('ชื่อไฟล์ =', file.getName());
}
Logger.log('pdf_file = ', pdf_file)
for (var i = 1; i < data.length; i++){ //อ่านข้อมูลใน sheet
var column = data[i]; // อ่านทุกคอลัมน์
var emailAddress = column[1]; //คอลัมน์ที่มี email address อยู่
// Logger.log('emailAddress = ', emailAddress)
var emailSent = column[9]; //กำหนดค่า ตัวแปร emailSent คือ ข้อมูลใน คอลัมน์ที่ 9+1 เพราะเราเริ่มจาก 0
// Logger.log('emailSent = ', emailSent)
var subject = "อีเมล์ส่งมาจาก ครูนรินทร์ อนงค์ชัย"; //หัวเรื่องใน อีเมล์
var messege = "ส่งไฟล์ แผนการสอน "; // ข้อคงวามใน อีเมล์
if(emailSent != EMAIL_SENT){ //ตรวจสอบในคอลัมน์ที่ 10 ว่า ไม่ใช่/ไม่มี ข้อความว่า "ตอบอีเมล์แล้ว"
// @ts-ignore
MailApp.sendEmail(emailAddress, subject, messege, {attachments: [file],}); //ให้ส่ง อีเมล์
sheet.getRange(i+1,sentCol).setValue(EMAIL_SENT); //ส่งแล้วก้ไป เขียนว่า "ตอบอีเมล์แล้ว"
SpreadsheetApp.flush();
}
}
//} else {
// MailApp.sendEmail(emailAddress, subject, 'ไม่พบไฟล์ที่ต้องการ');
}
อย่าลืม ทำตามขั้นตอน ที่ผมแจ้ง ด้าน บนด้วย นะครับ ไม่เช่น นั้น Script ไม่ทำงาน อัตโนมัติ