var output5 function myFunction() { var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheets()[1]; var data1 = sheet1.getRange(sheet1.getLastRow(), 2,1,sheet1.getLastColumn()).getValues()[0]; var sum1 = data1.filter(item => item == 'มา').length //สรุป มา var sum2 = data1.filter(item => item == 'ขาด').length //สรุป ขาด var sum3 = data1.filter(item => item == 'ลา').length //สรุป ลา var sum4 = sum2+sum3 //สรุป รวมไม่มา var percent1 = (sum1*100/14).toFixed(2) //สรุปร้อยละ มา var percent2 = (sum2*100/14).toFixed(2) //สรุปร้อยละ ขาด var percent3 = (sum3*100/14).toFixed(2) //สรุปร้อยละ ลา var percent4 = ((sum2+sum3)*100/14).toFixed(2) //สรุปร้อยละ ไม่มา //Logger.log(percent2) //===================================================" let data,output1 ="",output2 ="" data = sheet2.getDataRange().getDisplayValues() data.shift() data.forEach((item,i) =>{ output1 += data1[i]+'\n' output2 +=item[1]+' ',output2 +=item[2]+' ',output2 +=item[3]+' ',output2 +=item[4]+'\n' }) var date = Utilities.formatDate(new Date(), 'GMT+7', 'dd/MM/'); var thaiyear = Number(Utilities.formatDate(new Date(), "GMT+7", "yyyy"))+543; output5 = 'วันที่ '+date+thaiyear; var temp= DriveApp.getFolderById("16mqgcwm_RJSf8-WLE-ZweHNTDEE5Kmdr"); var TemplateSlide = '17KcyDOPc9N0Yz9MQrtgaZmSu8_dBtord_bBZuIQtC1M'; var Slide = SlidesApp.openById(TemplateSlide); var doc = Slide.getSlides()[0] var order = doc.getPageElementById('SLIDES_API498176199_2').asShape().getText().setText(output1)//ลำดับที่ var checkToday = doc.getPageElementById('ga4a52c7739_0_5').asShape().getText().setText(output2)//ขาด ลา รวม //checkToday.replaceAllText("0", "-"); var showDate = doc.getPageElementById('ga4d3aab371_0_0').asShape().getText().setText(output5)//วันที่ var total1 = doc.getPageElementById('g53f1084afc_0_0').asShape().getText().setText(sum1)//สรุปมาทั้งหมด var total2 = doc.getPageElementById('g53f1084afc_0_1').asShape().getText().setText(sum2)//สรุปขาด var total3 = doc.getPageElementById('g53f1084afc_0_2').asShape().getText().setText(sum3)//สรุปลา var total4 = doc.getPageElementById('g53f1084afc_0_3').asShape().getText().setText(sum4)//สรุปไม่มาเรียนทั้งหมด var per1 = doc.getPageElementById('g53f1084afc_0_4').asShape().getText().setText(percent1)//ร้อยละ มาเรียน var per2 = doc.getPageElementById('g53f1084afc_0_5').asShape().getText().setText(percent2)//ร้อยละ ขาด var per3 = doc.getPageElementById('g53f1084afc_0_6').asShape().getText().setText(percent3)//ร้อยละ ลา var per4 = doc.getPageElementById('g53f1084afc_0_7').asShape().getText().setText(percent4)//ร้อยละ ไม่มาเรียน Slide.saveAndClose(); var file = DriveApp.getFileById(TemplateSlide); var copyFile = file.makeCopy('img'+ Math.random()+ file.getName( ),temp); var copyId = copyFile.getId(); var copyDoc = SlidesApp.openById(copyId); copyDoc.saveAndClose(); start(copyId); copyFile.setTrashed(true); } // บันทึก Slide ให้เป็นรูปภาพ เพื่อใช้ในการส่งรูปไปกับไลน์แจ้งเตือน function downloadPresentation(id) { var slideIds = getSlideIds(id); let imagesblob = [] for (var i = 0, slideId; slideId = slideIds[i]; i++) { imagesblob.push(downloadSlide('Slide ' + (i + 1), id, slideId)); } return imagesblob } function downloadSlide(name, presentationId, slideId) { var url = 'https://docs.google.com/presentation/d/' + presentationId + '/export/png?id=' + presentationId + '&pageid=' + slideId; var options = { headers: { Authorization: 'Bearer ' + ScriptApp.getOAuthToken() } }; var response = UrlFetchApp.fetch(url, options); var image = response.getAs(MimeType.PNG); image.setName(name); return image } function getSlideIds(presentationId) { var url = 'https://slides.googleapis.com/v1/presentations/' + presentationId; var options = { headers: { Authorization: 'Bearer ' + ScriptApp.getOAuthToken() } }; var response = UrlFetchApp.fetch(url, options); var slideData = JSON.parse(response); return slideData.slides.map(function(slide) { return slide.objectId; }); } function start(SlideFileID) { let images = downloadPresentation(SlideFileID); images.forEach(image=>{ sendNotify(image,token1) // sendNotify(image,token2) }) } //ส่งไลน์แจ้งเตือน + รูปภาพ var token1 = 'xxx'; //var token2 ="xxx"; function sendNotify(image,tokenID){ let payloadJson = { "message": "📣 ของนักเรียน ชุมนุมคิดเลขเร็ว"+output5, "imageFile": image }; let token = [tokenID]; //ใส่ access token ที่ใช้งาน let options = { "method": "post", "payload": payloadJson, "headers": { "Authorization": "Bearer " + token } }; UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options); }