การส่ง email ถึงผู้รับตามที่กำหนด พร้อมแนบข้อความ/ไฟล์ที่ต้องการ

  1. ปิด Google Sheets : GASWS1
  2. เมนู Tools > Script Editor…
  3. เมนู File > New > Script File
    ตั้งชื่อ: myscript6
  4. สร้าง function MailMerge3() ตามนี้
    function MailMerge3() {
     var ss = SpreadsheetApp.getActiveSpreadsheet(),
     SalarySheet=SpreadsheetApp.setActiveSheet(ss.getSheetByName("Salary")), 
     TemplateID='1bjpQnJikYMGYNaJQhetpZpkHyjI7iqBqDufprzMSo4k', 
     header = "A1:G1",
     data="A2:G6", 
     dataRows = SalarySheet.getRange(data).getValues(),
     headerRow = SalarySheet.getRange(header).getValues(),
     numColumns = SalarySheet.getRange(header).getNumColumns(),
     emailText = ""; 
    
     for (var i=0 ; i < dataRows.length ; i++) {
     emailText="";
     var id =DriveApp.getFileById(TemplateID).makeCopy("กองคลัง : แจ้งการโอนเงินให้คุณ " + dataRows[i][0] + " " + dataRows[i][1]).getId(),
     doc=DocumentApp.openById(id),
     docBody=doc.getBody();
     for (var j = 0 ; j < numColumns -1 ; j++) { 
     docBody.replaceText('{' + headerRow[0][j] + '}' , dataRows[i][j]); 
     } 
     emailText=docBody.getText();
     doc.saveAndClose();
     
     
     var emailaddress=dataRows[i][2],
     subject = "กองคลัง : แจ้งการโอนเงินให้คุณ " + dataRows[i][0] + " " + dataRows[i][1],
     attachment = DocumentApp.openById(id);
     MailApp.sendEmail( emailaddress, 
     subject ,
     emailText, 
     {
     attachments: [attachment.getAs(MimeType.PDF)]
     }
     ); 
     try { 
    
     dataRows[i][numColumns-1] = new Date(); 
     } catch (e) {
     
     dataRows[i][numColumns-1] = e.message;
     } 
     }
     
     SalarySheet.getRange(data).setValues(dataRows);
    }
  5. เมนู File > Save หรือ กดปุ่ม Ctrl+s
  6. เมนู Run > MailMerge3

1 comment for “การส่ง email ถึงผู้รับตามที่กำหนด พร้อมแนบข้อความ/ไฟล์ที่ต้องการ

Leave a Reply