code.gs
function sendNotify() {
var ss = SpreadsheetApp.openById('1Z----------------------------w') //เปิด spreadsheet ด้วย id sheet อย่าลืมแก้ไข id sheet นะครับ
var ws = ss.getSheetByName('ก----------------ช') //เลือก worksheet ที่มีชื่อว่า Database
var range = ws.getDataRange()
var values = range.getValues()
var today = new Date() // กำหนดค่าให้ตัวแปร today ให้เป็นวันนี้
// var formattedDate = today.getDate() + "/" + (today.getMonth()+1) + "/" + today.getFullYear() // กำหนดรูปแบบวันที่ให้อยู่ในรูป dd/mm/yyyy
// <script language="javascript">
var now = new Date();
var thday = new Array ("อาทิตย์","จันทร์",
"อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์");
var thmonth = new Array ("มกราคม","กุมภาพันธ์","มีนาคม",
"เมษายน","พฤษภาคม","มิถุนายน", "กรกฎาคม","สิงหาคม","กันยายน",
"ตุลาคม","พฤศจิกายน","ธันวาคม");
// document.write("วัน" + thday[now.getDay()]+ "ที่ "+ now.getDate()+ " " +
// thmonth[now.getMonth()]+ " " + (0+now.getYear()));
// </script></p>
var formattedDate = today.getDate()+ " " + thmonth[today.getMonth()]+ " " + (today.getYear()+1900);
var message = "ขอพระเจ้าอวยพระพรทุกท่านที่รับใช้พระเจ้าทุกวัน"
// var message = "ขอพระเจ้าอวยพระพรสำหรับท่านรับใช้พระเจ้าทุกวันและ วัน" +thday[today.getDay()]+ "ที่ "+ formattedDate // กำหนดค่าให้ตัวแปร message เก็บค่าข้อความที่จะส่งเข้า Line Notify
// ใช้ loop for สำหรับการหาข้อมูลที่ตรงตามเงื่อนไข โดยเริ่มจาก i = 1 หมายถึง เริ่ม loop หาข้อมูลตั้งแต่แถวที่ 2 ใน ws
// โดยปกติ array จะเริ่มที่ i = 0 หมายถึง แถวที่ 1 ใน ws แต่แถวที่ 1 ใน ws ของเราเป็นหัวตาราง จึงเริ่มที่ i = 1 หมายถึง แถวที่ 2 ใน ws)
for (var i = 0; i < values.length; i++) {
var row = values[i] // กำหนดค่าให้ตัวแปร row เก็บข้อมูลที่อยู่ในแถวที่ i ทุกคอลัมน์
var dayCompare = new Date(row[28]); // กำหนดค่าให้ตัวแปร dayCompare เก็บค่า วันที่ ที่อยู่ในแถวที่ i คอลัมน์ E ใข้สำหรับการเปรียบเทียบวันที่
// กำหนดค่าให้ตัวแปร isSameDate เป็นตัวแปร boolean จากการเปรียบเทียบ วัน/เดือน/ปี ระหว่าง today กับ dayCompare
var isSameDate = (
today.getFullYear() === dayCompare.getFullYear() &&
today.getMonth() === dayCompare.getMonth() &&
today.getDate() === dayCompare.getDate()
)
// ถ้า isSameDate มีค่าเป็นจริง ก็จะเพิ่มข้อความ และ ข้อมูล ที่จะส่งเข้า Line Notify ให้กับตัวแปร message
if(isSameDate) {
var dateserv = row[29] // กำหนดค่าให้ตัวแปร partNo เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ A
var team = row[2] // กำหนดค่าให้ตัวแปร model เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ B
var first = row[3] // กำหนดค่าให้ตัวแปร plan เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ C
var second = row[4] // กำหนดค่าให้ตัวแปร actual เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ D
var third = row[5] // กำหนดค่าให้ตัวแปร diff เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ E
var fourth = row[6] // กำหนดค่าให้ตัวแปร diff เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ E
var fifth = row[7] // กำหนดค่าให้ตัวแปร diff เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ E
var sixth = row[8] // กำหนดค่าให้ตัวแปร diff เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ E
var seventh = row[9] // กำหนดค่าให้ตัวแปร diff เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ E
var eighth = row[10] // กำหนดค่าให้ตัวแปร diff เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ E
var ninth = row[11] // กำหนดค่าให้ตัวแปร diff เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ E
var godword = row[30] // กำหนดค่าให้ตัวแปร losstime เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ F
// var shift = row[6] // กำหนดค่าให้ตัวแปร shift เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ G
message += "\n" +
"\n โดยเฉพาะ : " + dateserv +
"\n 👉ขอพระเจ้าอวยพระพรทีม: " + team + "ซึ่งประกอด้วย" +
"\n 🔴 1." + first +
"\n 🟢 2." + second +
"\n 🔴 3." + third +
"\n 🟢 4." + fourth +
"\n 🔴 5." + fifth +
"\n 🟢 6." + sixth +
"\n 🔴 7." + seventh +
"\n 🟢 8." + eighth +
"\n 🔴 9." + ninth +
"\n 🟢ด้วยถ้อยคำที่ว่า : " + godword
// "\n Shift : " + shift
}
}
// var token = "ej2u-------------------------K"; // เปลี่ยน Token Line Notify
var token = "6-------------------------------------t";
var options = {
"method": "post",
"headers": {
"Authorization": "Bearer " + token
},
"payload": {
"message": message
}
};
UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น
หมายเหตุ: มีเพียงสมาชิกของบล็อกนี้เท่านั้นที่สามารถแสดงความคิดเห็น