แทนที่ข้อความ ด้วยค่าใน Google Sheets

  1. เปิด Google Sheets : GASWS1
  2. สร้าง Sheet ใหม่ ชื่อ “Salary”
  3. ใส่ข้อมูล
    A1 = “Firstname”
    B1=”Lastname”
    C1=”Email”
    D1=”SalaryDetail”
    E1=”Salary”
    F1=”TransferDate”
  4. จากนั้น ให้กรอกข้อมูลต่างๆ จำนวน 5 แถว ดังภาพ
    Capture
  5. สร้าง Sheet ใหม่ ชื่อ “Template”
  6. ใส่ข้อมูล
    A1: เรียน คุณ{Firstname} {Lastname}
    A2: จะมี {SalaryDetail} จำนวน {Salary} บาท โอนให้คุณในวันที่ {TransferDate}
    A3: จึงเรียนมาเพื่อทราบ
    A4: การเงิน
  7. เมนู Tools > Script Editor…
  8. เมนู File > New > Script File
    ตั้งชื่อ: myscript5
    เขียนโค๊ดตามนี้

    function MailMerge1() {
     var ss = SpreadsheetApp.getActiveSpreadsheet(),
     SalarySheet=SpreadsheetApp.setActiveSheet(ss.getSheetByName("Salary")),
     TemplateSheet=SpreadsheetApp.setActiveSheet(ss.getSheetByName("Template")),
     header = "A1:G1",
     data="A2:G6",
     template="A1:A4",
     dataRows = SalarySheet.getRange(data).getValues(),
     headerRow = SalarySheet.getRange(header).getValues(),
     numColumns = SalarySheet.getRange(header).getNumColumns(),
     templateRows= TemplateSheet.getRange(template).getValues();
     
     for (var i=0 ; i < dataRows.length ; i++) {
     var newText = templateRows[0][0] + "\n" + 
     "\t" + templateRows[1][0] + "\n" +
     "\t" + templateRows[2][0] + "\n" +
     templateRows[3][0] + "\n"; 
     for (var j = 0 ; j < numColumns -1 ; j++) { 
     newText = newText.replace('{' + headerRow[0][j] + '}', dataRows[i][j]); 
     }
     try { 
    
     dataRows[i][numColumns-1] = new Date(); 
     } catch (e) {
     
     dataRows[i][numColumns-1] = e.message;
     }
     
     Logger.log(newText);
     }
     
     
     SalarySheet.getRange(data).setValues(dataRows);
     
    }
  9. เมนู File > Save หรือ กดปุ่ม Ctrl+s
  10. เมนู Run > MailMerge1
  11. ดูผลได้ที่ เมนู View > Logs หรือ กดปุ่ม Ctrl+Enter

1 comment for “แทนที่ข้อความ ด้วยค่าใน Google Sheets

Leave a Reply