Search this site
Embedded Files
ครูนรินทร์ อนงค์ชัย
  • สร้างเกียรติบัตรรูปแบบเอกลักษณ์ไทย
  • เผยแพร่ผลงาน ตอบรับ ส่งไฟล์
  • script เพิ่มข้อมูลโรงเรียน ได้
  • สร้างข้อสอบแบบสุ่มจากคลังข้อสอบ
  • แบบประเมิน SDQ
  • แบบประเมิน SDQ ฉบับผู้ปกครอง
  • แบบประเมิน SDQ ฉบับครู
  • แบบประเมิน EQ
  • แปลผลค่าดัชนีมวลกาย(BMI)
  • script เกียรติบัตรไทย ใส่รูปได้
  • script ทะเบียหนังสือ
  • สร้างลิงก์ pdf ลงใน sheet แทนการส่ง email
  • เกียรติบัตร แทรกรูปได้ สร้างลิงก์ลงบน sheet แทนส่งเมล์
  • script เผยแพร่ผลงานผ่านอีเมล์อัตโนมัติ
  • script เผยแพร่ผลงานอีเมล์แนบไฟล์
  • script Copy down by Kru Narin
  • script รายงานเยี่ยมบ้าน
  • script วิเคระห์ลีลาการเรียนรู้
  • script แบบวิเคราะห์พหุปัญญา
  • งานวิจัยในชั้นเรียน 2564
  • งานวิจัย ใหม่2564333
ครูนรินทร์ อนงค์ชัย

https://streamyard.com?pal=6520925915185152


//โค้ดนี้พัฒนาโดย นายนรินทร์ อนงค์ชัย ครูโรงรียนเทพอุดมวิทยา อ.สังขะ จ.สุรินทร์


var TEMPLATE_ID = '1S8Ucy0ebdEDTlI3Oon6WkCECf1oal5GjpH1BH2kbSCY' //เอามาจาก google slide ที่เราออกแบบแบบรายงาน




///-----------------------------------------------------------

var destinationFolder = ''


function onOpen() {

SpreadsheetApp.getUi()

.createMenu('รายงานการเยี่ยมบ้าน')

.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 ของโฟลเดอร์ที่เอกสารรายงานเยี่ยมบ้าน',

ui.ButtonSet.OK_CANCEL);

var button = result.getSelectedButton();

var text = result.getResponseText();


if (button == ui.Button.OK) {

if(text == "") {

alert_error()

} else {

destinationFolder = text

home_visiting_report()

}

} else if (button == ui.Button.CANCEL) {

ui.alert('คุณยกเลิกการทำงาน');

} else if (button == ui.Button.CLOSE) {

ui.alert('คุณยกเลิกการทำงาน');

}

}


function alert_error() {

SpreadsheetApp.getUi().alert('คุณไม่ได้ป้อน ID ของโฟลเดอร์ปลายทาง');

}


/////////////////////////////////////////////////////////////////////////////


function home_visiting_report() {

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])

}


var file = DriveApp.getFileById(TEMPLATE_ID).makeCopy()

var copyFile = file.makeCopy('รายงานสรุปการเยี่ยมบ้าน ของ '+ data[2] +' '+ data[3] + data[4] + ' ' + data[5]);

DriveApp.getFolderById(destinationFolder).addFile(copyFile);

DriveApp.removeFile(copyFile)

var copyId = copyFile.getId()

var copyDoc = SlidesApp.openById(copyId);

var slides = copyDoc.getSlides();

/// ส่วน สไลด์ Slide ที่ 1 -------------------------------------------------------

var templateSlide_1 = slides[0];

var shapes_1 = templateSlide_1.getShapes();

shapes_1.forEach(function (shape) {

shape.getText().replaceAllText("{{รหัสประจำตัวนักเรียน}}", data[2] );

shape.getText().replaceAllText("{{คำนำหน้า}}", data[3] );

shape.getText().replaceAllText("{{ชื่อ}}", data[4]);

shape.getText().replaceAllText("{{นามสกุล}}", data[5]);

shape.getText().replaceAllText("{{ชั้น}}", data[6]);

/////////ทำต่อไปเรื่อย ตามจำนวน ข้อมูลที่มี

});

// แทรกภาพ ใน สไลด์ 1

//templateSlide_1.insertImage(data[11], 420, 30, 160, 107)

//แก้แทรกรูปไม่ได้ ---19/06/2020

var image_id = data[2].replace("https://drive.google.com/open?id=", "");

var IMAGE_URL_1 = 'https://doc.google.com/uc?export=view&id='+ image_id;

templateSlide_1.insertImage(IMAGE_URL_1, 420, 30, 160, 107)

//Slide ที่ 2 //---------------------------------------------------------------------

var templateSlide_2 = slides[1];

var shapes_2 = templateSlide_2.getShapes()

shapes_2.forEach(function (shape) {

shape.getText().replaceAllText("{{รหัสประจำตัวนักเรียน}}", data[3] );

shape.getText().replaceAllText("{{คำนำหน้า}}", data[3] );

shape.getText().replaceAllText("{{ชื่อ}}", data[4]);

shape.getText().replaceAllText("{{นามสกุล}}", data[5]);

/////////ทำต่อไปเรื่อย ตามจำนวน ข้อมูลที่มี

});


//ถ้ามีรูปที่ 2

//อันเดิม templateSlide_2.insertImage(data[12], 120, 200, 350, 233)

//แก้แทรกรูปไม่ได้ ---19/06/2020

var image_id_2 = data[12].replace("https://drive.google.com/open?id=", "");

var IMAGE_URL_2 = 'https://doc.google.com/uc?export=view&id='+ image_id_2;

templateSlide_2.insertImage(IMAGE_URL_2, 120, 200, 350, 233)


//ถ้ามีรูปที่ 3

//อันเดิม templateSlide_2.insertImage(data[13], 120, 500, 350, 233)

//แก้แทรกรูปไม่ได้ ---19/06/2020

var image_id_3 = data[13].replace("https://drive.google.com/open?id=", "");

var IMAGE_URL_3 = 'https://doc.google.com/uc?export=view&id='+ image_id_3;

templateSlide_2.insertImage(IMAGE_URL_3, 120, 500, 350, 233)


//----------------------------------------------------------------------------


copyDoc.saveAndClose();


var pdf_file = DriveApp.createFile(copyFile.getAs("application/pdf"));

save_pdf_folder.addFile(pdf_file);

file.setTrashed(true)

//DriveApp.removeFile(copyFile)

DriveApp.removeFile(pdf_file)

copyFile.setTrashed(true) //ถ้าต้องการ เอาไฟล์ slide ไว้ ให้ใส้ // หน้า บรรทัดนี้

}

}


Report abuse
Page details
Page updated
Report abuse