function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('ชื่อชีต') var names = ss.getRange(1, 2,1,ss.getLastColumn()).getValues()[0] var check = ss.getRange(ss.getLastRow(), 2,1,ss.getLastColumn()).getValues()[0] var std = names.length-1 var date = Utilities.formatDate(new Date(), 'GMT+7', 'dd/MM/') var year = Number(Utilities.formatDate(new Date(), 'GMT+7', 'yyyy'))+543
var index =1 var countNo = check.filter(x=> x == "ไม่เข้าร่วมกิจกรรม").length var countCheck = std-countNo var result = "" check.forEach((row,i)=>{ if(row == "ไม่เข้าร่วมกิจกรรม"){ result+= " "+ (index++)+ names[i] } }) var msg = "วันที่ "+date+year+" นักเรียนทั้งหมด "+std+" คน เข้าร่วมกิจกรรม "+countCheck+" คน ไม่เข้าร่วม "+countNo+ " คน รายชื่อผู้ไม่เข้าร่วมกิจกรรม ได้แก่ "+result sendNotify(msg) } var token ="xxx"//โทเคน function sendNotify(msg){ let payloadJson = { "message": msg }; let options = { "method": "post", "payload": payloadJson, "headers": { "Authorization": "Bearer " + token } }; UrlFetchApp.fetch("notify-api.line.me/api/notify", options); }
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('ชื่อชีต')
var names = ss.getRange(1, 2,1,ss.getLastColumn()).getValues()[0]
var check = ss.getRange(ss.getLastRow(), 2,1,ss.getLastColumn()).getValues()[0]
var std = names.length-1
var date = Utilities.formatDate(new Date(), 'GMT+7', 'dd/MM/')
var year = Number(Utilities.formatDate(new Date(), 'GMT+7', 'yyyy'))+543
var index =1
var countNo = check.filter(x=> x == "ไม่เข้าร่วมกิจกรรม").length
var countCheck = std-countNo
var result = ""
check.forEach((row,i)=>{
if(row == "ไม่เข้าร่วมกิจกรรม"){
result+= "
"+ (index++)+ names[i]
}
})
var msg = "วันที่ "+date+year+"
นักเรียนทั้งหมด "+std+" คน
เข้าร่วมกิจกรรม "+countCheck+" คน
ไม่เข้าร่วม "+countNo+ " คน
รายชื่อผู้ไม่เข้าร่วมกิจกรรม ได้แก่
"+result
sendNotify(msg)
}
var token ="xxx"//โทเคน
function sendNotify(msg){
let payloadJson = {
"message": msg
};
let options = {
"method": "post",
"payload": payloadJson,
"headers": {
"Authorization": "Bearer " + token
}
};
UrlFetchApp.fetch("notify-api.line.me/api/notify", options);
}
ขออนุญาตสอบถามค่ะ โทเคนเราต้องเอามาจากไหนคะ
เจอคลิปที่สอนออกโทเคนแล้ว ขอบคุณค่ะ
ขอบคุณค่ะ อาจารย์
ราย
-ขอบคุณค่ะ
บรรทัดที่3 ตรง getRange รันไม่ได้ครับ มันล้มเหลว มีวิธีแก้ไหมคะ
ได้แก้รึยังคะ แก้ยังไงคะ
อยากได้วิธีการทำสำหรับ glide app แบบใหม่หน่อยค่ะ ตอนนี้คือดูแล้วงงมากค่ะ
Glideappsปัจุบันผมงงมากทำตามทุกอย้างแต่พอเข้าไปตรงSTYLEไม่มีDetailsผมไปไม่เป็นเลย
ตามครับ
รบกวนสอบถาม อ. ครับ ถ้าทำหลายห้องต้องทำอย่างไรถึงจะแจ้งเตือนได้ครับ มีชีตละห้องครับ
โปรแกรมคริปต์เปิดไม่ได้ครับ มันขึ้นว่า"ขออภัย ไม่สามารถเปิดไฟล์ได้ในเวลานี้"โปรดตรวจสอบที่อยู่แล้วลองอีกครั้ง
ครับ
ตอนนี้ glide app เปลี่ยนรูปแบบแล้วทำยังไงหรอครับ
ของผมไม่ขึ้น ดีเทล ให้อะครับ
ต้องทำไงครับ
เช็คแล้วไม่นับจำนวนคนไม่มาและไม่แสดงรายชื่อให้ค่ะ แก้อย่างไรคะ
น่าจะทำอะไรผิด เช็คกับคลิปดีๆครับ
@@KruApiwat แก้ไขได้แล้วค่ะขอบคุณค่ะ
ปุ่มsubmit ไม่ขึ้นทำอย่างไรคะ
ตรงที่แสดงผลลัพธ์ มันจะเปลี่ยนเป็นวันที่ปัจจุบันเหมือนเดิม ถึงแม้ตอนกรอกข้อมูลจะ เป็นวันที่ใหม่ หรือว่าผมผิดตรงไหน ในโปรแกรม รบกวนอาจารย์ แนะทางสว่างแก่ ผมด้วยครับ
line แจ้งเตือนข้อความเดียว ซ้ำกัน7 รอบ ทำอย่างไรคะ
ถ้าทำทริกเกอร์แบบ onChange มันก็แจ้งทุกครั้งที่มีข้อมูลลงชีต
เช๊คกิจกรรม แล้วทำเป็นเปอรเซ็นตบอก แบ่งระดับ แล้วแจ้งเตือนพอเปอรเซ็นตสูง ตามที่เรากำหนดว่าถึงเท่าไหร่ให้แจ้งเตือน ทำอย่างไรคัาบบ
ยังไม่เคยทำครับ
สุดยอดเลยครับอาจารย์ ถ้าอยากได้ช่องกรอกคะแนนเก็บในแต่ล่ะวันเพิ่มเป็นรายบุคคลอีกทำงัยดีครับ
แจ้งในชีท แต่ไม่มีการแจ้งในไลน์ ทำอย่างไรครับ
เช็คการทำตามคลิปให้ละเอียดครับ
สุดยอดครับผมนี่ละที่หามานาน
ขอบพระคุณครับ ครู
ของผมมันไม่มีดีเทล😢😢
ตรงgetrandge รันไม่ได้มีวิธิเเก้ไหมค่ะ
อาจารครับ อาจารมีรับสอนพิเศษ เกี่ยวกับ กูเกิล สคริป และการทำเว็บแอพไหมครับ
สอนพิเศษ แบบไหนครับผมอยู่อุบลราชธานีครับ
สอนออนไลก็ได้ครับอาจารย์ ผมจะติดต่อ เพิ่มเติมกับอาจารช่องทางไหนได้บ้างครับ
ยอดเยี่ยมครับอาจารย์ กำลังอยากได้วิธีการและแนวคิดแบบนี้พอดีเลยครับ
ทำตัวอักษรเป็นตัวหนา หรือ ใส่สี ได้ไหมค่ะ
บางทีก็letกะvar
อาจารย์จะให้แสดงชื่อ คนที่เข้าร่วมกิจกรรม ทำอย่างไรครับ
จองรถได้ไหมครับ
บรรทัดที่3 ตรง getRange รันไม่ได้ครับ มันล้มเหลว มีวิธีแก้ไหมครับ
แก้ไม่ได้เหมือนกัน
ในกรณีที่มีหลายห้องต้องเพิ่มโค้ดส่วนไหนบ้างครับ