//โค้ดนี้พัฒนาโดย นายนรินทร์ อนงค์ชัย ครูโรงรียนเทพอุดมวิทยา อ.สังขะ จ.สุรินทร์
// http://www.ndr.ac.th/learning_styles/learning_styles.pdf
//https://docs.google.com/document/d/12F5mcuHoztHn3CGzPp5Pu--y2FqGbO-KxgW0CCTHttw/edit?usp=sharing
var TEMPLATE_ID = '12F5mcuHoztHn3CGzPp5Pu--y2FqGbO-KxgW0CCTHttw' //เอามาจาก google doc ที่เราออกแบบแบบรายงาน
///-----------------------------------------------------------
var destinationFolder = ''
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('Learning Style Analysis')
.addItem('เริ่มต้นสร้างรายงานลีลาการเรียน', 'showAlert')
.addToUi();
}
function showAlert() {
var ui = SpreadsheetApp.getUi(); // Same variations.
var result = ui.alert(
'โปรดตรวจสอบ',
'แน่ใจแล้วว่า คลิกรายชื่อตำแหน่งเริ่มต้นถูกต้อง',
ui.ButtonSet.YES_NO);
if (result == ui.Button.YES) {
showPrompt()
} else {
ui.alert('คลิกที่บรรทัดเริ่มต้นใหม่อีกครั้ง');
}
}
function showPrompt() {
var ui = SpreadsheetApp.getUi(); // Same variations.
var result = ui.prompt(
'เลือกโฟลเดอร์จัดเก็บรายงาน',
'โปรดระบุ ID ของโฟลเดอร์ที่เอกสารรายงาน LSA',
ui.ButtonSet.OK_CANCEL);
var button = result.getSelectedButton();
var text = result.getResponseText();
if (button == ui.Button.OK) {
if(text == "") {
alert_error()
} else {
destinationFolder = text
LSA()
}
} else if (button == ui.Button.CANCEL) {
ui.alert('คุณยกเลิกการทำงาน');
} else if (button == ui.Button.CLOSE) {
ui.alert('คุณยกเลิกการทำงาน');
}
}
function alert_error() {
SpreadsheetApp.getUi().alert('คุณไม่ได้ป้อน ID ของโฟลเดอร์ปลายทาง');
}
/////////////////////////////////////////////////////////////////////////////
function LSA() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet()
var sheets = ss.getSheets()
var certify_sheet = sheets[1]
var active_range = sheet.getActiveRange();
var lastRow = sheet.getLastRow();
var lastColumn = sheet.getLastColumn();
Logger.log("จำนวนคอลัมน์ทั้งหมด = ", lastColumn)
var start_row = sheet.getActiveCell().getRowIndex()
var number_row = lastRow -start_row + 2
var range = sheet.getRange(start_row, 1, number_row , lastColumn);
range.activate()
var rangeValues = range.getValues()
var save_pdf_folder = DriveApp.getFolderById(destinationFolder);
var data = []
for(i = start_row; i< lastRow +1 ; i++){
for (var columnIndex = 1; columnIndex < lastColumn+1; columnIndex++) {
data[columnIndex] = sheet.getRange(i, columnIndex).getValue()
data.push(data[columnIndex])
}
Logger.log(data[9])
Logger.log(data[9].substring(0, 1))
var a_score = 0;
var b_score = 0;
var c_score = 0;
if(data[9].substring(0, 1)== 'ก'){a_score++} else if(data[9].substring(0, 1)== 'ข'){b_score++}else {c_score++}; //ข้อ 1
if(data[10].substring(0, 1)== 'ก'){a_score++} else if(data[10].substring(0, 1)== 'ข'){b_score++}else {c_score++}; //ข้อ 2
if(data[11].substring(0, 1)== 'ก'){a_score++} else if(data[11].substring(0, 1)== 'ข'){b_score++}else {c_score++}; //ข้อ 3
if(data[12].substring(0, 1)== 'ก'){a_score++} else if(data[12].substring(0, 1)== 'ข'){b_score++}else {c_score++}; //ข้อ 4
if(data[13].substring(0, 1)== 'ก'){a_score++} else if(data[13].substring(0, 1)== 'ข'){b_score++}else {c_score++}; //ข้อ 5
if(data[14].substring(0, 1)== 'ก'){a_score++} else if(data[14].substring(0, 1)== 'ข'){b_score++}else {c_score++}; //ข้อ 6
if(data[15].substring(0, 1)== 'ก'){a_score++} else if(data[15].substring(0, 1)== 'ข'){b_score++}else {c_score++}; //ข้อ 7
if(data[16].substring(0, 1)== 'ก'){a_score++} else if(data[16].substring(0, 1)== 'ข'){b_score++}else {c_score++}; //ข้อ 8
if(data[17].substring(0, 1)== 'ก'){a_score++} else if(data[17].substring(0, 1)== 'ข'){b_score++}else {c_score++}; //ข้อ 9
if(data[18].substring(0, 1)== 'ก'){a_score++} else if(data[18].substring(0, 1)== 'ข'){b_score++}else {c_score++}; //ข้อ 10
if(data[19].substring(0, 1)== 'ก'){a_score++} else if(data[19].substring(0, 1)== 'ข'){b_score++}else {c_score++}; //ข้อ 11
if(data[20].substring(0, 1)== 'ก'){a_score++} else if(data[20].substring(0, 1)== 'ข'){b_score++}else {c_score++}; //ข้อ 12
if(data[21].substring(0, 1)== 'ก'){a_score++} else if(data[21].substring(0, 1)== 'ข'){b_score++}else {c_score++}; //ข้อ 13
if(data[22].substring(0, 1)== 'ก'){a_score++} else if(data[22].substring(0, 1)== 'ข'){b_score++}else {c_score++}; //ข้อ 14
if(data[23].substring(0, 1)== 'ก'){a_score++} else if(data[23].substring(0, 1)== 'ข'){b_score++}else {c_score++}; //ข้อ 15
if(data[24].substring(0, 1)== 'ก'){a_score++} else if(data[24].substring(0, 1)== 'ข'){b_score++}else {c_score++}; //ข้อ 16
Logger.log(a_score)
Logger.log(b_score)
Logger.log(c_score)
var text_a_1 = "1. ใช้สื่อประเภท รูปภาพ แผนภาพ แผนภูมิ แผนที่ แผนผังต่างๆ ภาพวาด การ์ตูนฯลฯ ช่วยในการเรียน"
var text_a_2 = "2. พยายามนั่งหน้าห้องเรียน เพื่อให้มีโอกาสได้เห็นกิริยาท่าทางของครูจะทําให้เสริมความเข้าใจยิ่งขึ้น"
var text_a_3 = "3. ใช้ปากกาเน้นข้อความขีดเส้นหรือทําสีสันให้ขอความที่สําคัญๆ ดูโดดเด่นทําให้จําได้ง่าย"
var text_a_4 = "4. พยายามโน้ตย่อ หรืออ่านเอกสารการสอนของครู "
var text_a_5 = "5. วาดภาพหรือเขียนแผนที่ความคิด (Mind Map) ก่อนลงมือเขียนเรื่องหรือเขียนรายงาน"
var text_a_6 = "6. ใช้สื่อมัลติมีเดีย เช่น คอมพิวเตอร์ช่วยสอน วีดิทัศน์ ภาพยนตร์ VCD ฯลฯ"
var text_a_7 = "7. อ่านหนังสือหรือทํางานในสถานที่เงียบๆ ช่วยให้มีสมาธิเรียนรู้ได้ดีขึ้น"
var text_a_8 = "8. อ่านหนังสือที่มีภาพประกอบมากๆ จะช่วยให้จําและเข้าใจได้มากขึ้น"
var text_a_9 = "9. เรียนรู้จาก การสาธิต การแสดงที่มีขั้นตอนชัดเจนจะทําให้เรียนรู้ด้วยความเข้าใจ "
var text_a_10 = "10. พยายามสร้างจินตนาการหรือนึกภาพเกี่ยวกับเรื่องที่ศึกษาหรือต้องการจะจดจํา "
var text_a = text_a_1 + '\n'+ text_a_2 +'\n'+ text_a_3 +'\n'+ text_a_4 +'\n'+ text_a_5 +'\n'+ text_a_6 +'\n'+ text_a_7 +'\n'+ text_a_8 +'\n'+ text_a_9 +'\n'+ text_a_10
var text_b_1 = "1. เข้ากลุ่มเพื่อร่วมอภิปราย สนทนาแลกเปลี่ยนความคิดเห็นในกลุ่มบ่อยๆ"
var text_b_2 = "2. เขียนคํากล่าวรายงานและรายงานหน้าชั้นบ่อยๆ"
var text_b_3 = "3. ใช้เครื่องบันทึกเสียงการบรรยายของครูดีกว่าการจดโน้ตย่อ "
var text_b_4 = "4. เวลาอ่านหนังสือให้อานออกเสียงเพื่อจะได้ชวยจําได้มากขึ้น "
var text_b_5 = "5. หาเทคนิคช่วยจํามากๆ เช่นเขียนคําย่อหรือวิธีอื่น ๆ ที่คิดว่าจะทําให้เรื่องนั้นๆได้มากขึ้น "
var text_b_6 = "6. เรื่องที่ต้องการจําให้นํามาแต่งเป็นเพลง จะช่วยให้จําได้ดี "
var text_b_7 = "7. เล่าเรื่องหรือความคิดของเราให้เพื่อนฟังบ่อยๆ"
var text_b_8 = "8. เล่าเรื่องหรือบอกให้เพื่อนจดบันทึกตามคําบอก"
var text_b = text_b_1 +'\n'+ text_b_2 +'\n'+ text_b_3 +'\n'+ text_b_4 +'\n'+ text_b_5 +'\n'+ text_b_6 +'\n'+ text_b_7 +'\n'+ text_b_8
var text_c_1 = "1. หยุดพัก เปลี่ยนอิริยาบถบ่อยๆ เวลาเรียนหรือทํางาน"
var text_c_2 = "2. ทํางานอื่นๆ หรือเคลื่อนไหวร่างกายไปพร้อมกับการเรียน"
var text_c_3 = "3. พยายามอ่านหนังสือหรือทํางานในสถานที่เดิม หรือเป็นประจําจะได้มีสมาธิมากขึ้น"
var text_c_4 = "4. อาจจะเคี้ยวหมากฝรั่งไปด้วยขณะทํางานหรืออ่านหนังสือ"
var text_c_5 = "5. ใช้ปากกาเน้นข้อความขีดเขียนทับข้อความที่สําคัญขณะอ่านหนังสือ"
var text_c_6 = "6. ตกแต่งห้องเรียนหรือสถานที่ทํางานด้วยภาพโปสเตอร์สวยๆ สีสดใส"
var text_c_7 = "7. เปิดเพลงเบาๆ ไปด้วยในขณะอ่านหนังสือ ถ้าคิดว่าจะช่วยให้เรียนรู้ได้ดีขึ้น"
var text_c_8 = "8. อ่านหนังสือแบบคร่าวๆ(skim) ก่อนเพื่อให้ทราบแนวคิดของเรื่องก่อนที่จะลงมืออ่านในรายละเอียด"
var text_c_9 = "9. ฝึกปฏิบัติงานที่ต้องทําตามคําสั่งอย่างมีขั้นตอน เช่นงานประดิษฐ์ งานชาง ฯลฯ"
var text_c_10 = "10. เล่นเกมการศึกษาที่มีสาระและความบันเทิงจะช่วยให้ไม่เบื่อง่ายและสามารถ เรียนรู้ได้ดีขึ้น"
var text_c = text_c_1 +'\n'+ text_c_2 +'\n'+ text_c_3 +'\n'+ text_c_4 +'\n'+ text_c_5 +'\n'+ text_c_6 +'\n'+ text_c_7 +'\n'+ text_c_8 +'\n'+ text_c_9 +'\n'+ text_c_10
var result = ''
var suggest = ''
if(a_score > b_score && a_score > c_score) {
result = "แบบการเรียนรู้โดยการดู (Visual learners)"
suggest = text_a;
} else if(b_score > a_score && b_score > c_score) {
result = "แบบการเรียนรู้โดยการฟัง (Auditory learners)"
suggest = text_b;
} else if(c_score > a_score && c_score > b_score) {
result = "แบบการเรียนรู้โดยการปฏิบัติ (Kinesthetic learners)"
suggest = text_c;
} else {
result = "การเรียนรู้แบบผสมผสาน (Blended Learning)"
}
var file_name = data[8] + ' ' + 'ลีลาแบบการเรียนรู้ ของ ' + data[3] + data[4];
var copyFile = DriveApp.getFileById(TEMPLATE_ID).makeCopy(file_name)
DriveApp.getFolderById(destinationFolder).addFile(copyFile);
DriveApp.removeFile(copyFile)
var copyId = copyFile.getId()
var copyDoc = DocumentApp.openById(copyId)
var copyBody = copyDoc.getActiveSection()
copyBody.replaceText('{{คำนำหน้า}}', data[3])
copyBody.replaceText('{{ชื่อ-นามสกุล}}', data[4])
copyBody.replaceText('{{ระดับชั้น}}', data[5])
copyBody.replaceText('{{ห้อง}}', data[6])
copyBody.replaceText('{{เลขที่}}', data[7])
copyBody.replaceText('{{เลขประจำตัว}}', data[8])
copyBody.replaceText('{{ผลการวิเคราะห์}}', result)
copyBody.replaceText('{{ข้อแนะนำ}}', suggest)
copyDoc.saveAndClose()
certify_sheet.appendRow([data[2], data[3], data[4], data[5], data[6], data[7], data[8], result]);
var pdf_file = DriveApp.createFile(copyFile.getAs("application/pdf"))
var save_pdf_folder = DriveApp.getFolderById(destinationFolder);
save_pdf_folder.addFile(pdf_file);
MailApp.sendEmail(data[2], 'ผลการวิเคราะห์ลีลาการเรียนรู้', 'ผลการวิเคราะห์ลีลาการเรียนรู้ของ'+data[3]+data[4], {attachments: [pdf_file],});
DriveApp.removeFile(pdf_file);
}
}