แปลง Sheet เป็น PDF ส่งเข้า Line
สวัสดีครับวันนี้ผมจะมาสอนการแปลงบิลเงินสดจาก Google Sheet เป็น Pdf และส่งลิงก์เข้า Line Notify เพื่อให้สามารถกดดาวน์โหลดได้ครับ
ขั้นแรก ผมสร้างแบบฟอร์มบิลเงินสดไว้ที่ Google Sheet โดยใช้ชื่อว่า Bill
function makePdf() {
let ws = SpreadsheetApp.openByUrl("xxx") //*ขั้นตอนที่ 1 sheeturl
let sheets = ws.getSheets()
for (var i = 0; i < sheets.length; i++) {
if(sheets[i].getSheetName()!=="Bill"){
sheets[i].hideSheet()
};
}
let driveFile = DriveApp.getFileById('xxx') //**ขั้นตอนที่ 2 sheetid
let pdfFile = driveFile.getAs('application/pdf').setName('testpdf')
let convertPdf = DriveApp.createFile(pdfFile)
let fol = DriveApp.getFolderById("xxx") //***ขั้นตอนที่ 3 folderid
convertPdf.moveTo(fol);
sheets.forEach(function(eachSheets){
eachSheets.showSheet();
})
}
ขั้นตอนที่ 1 นำ URL หน้าบิลเงินสดที่ออกแบบไว้ใน Google Sheet ไปแทน “xxx” ตรง SpreadsheetApp.openByUrl(“xxx”)
ต่อไปคือการเรียก ID ของไฟล์ PDF ออกมาเพื่อเป็นการระบุไฟล์ PDF แต่ละไฟล์ และเมื่อได้ ID ไฟล์แล้ว ต่อมาจะนำ ID ที่ได้ทำเป็นลิงก์ URL เพื่อส่งเข้ากลุ่ม Line ทำให้ทุกคนสามารถดาวน์โหลดไฟล์ PDF จาก URL ได้นั่นเอง โดยใช้โค้ดนี้ครับ let pdfFileUrl = ‘https://drive.google.com/uc?export=view&id=’ + convertPdf.getId();
function makePdf() {
let ws = SpreadsheetApp.openByUrl("xxx") //sheeturl
let sheets = ws.getSheets()
for (var i = 0; i < sheets.length; i++) {
if(sheets[i].getSheetName()!=="Bill"){
sheets[i].hideSheet()
};
}
let driveFile = DriveApp.getFileById('xxx') // sheetid
let pdfFile = driveFile.getAs('application/pdf').setName('testpdf')
let convertPdf = DriveApp.createFile(pdfFile)
let fol = DriveApp.getFolderById("xxx") //folderid
convertPdf.moveTo(fol);
let pdfFileUrl = 'https://drive.google.com/uc?export=view&id=' + convertPdf.getId(); //เพิ่มลิงก์ URL ไฟล์ PDF
sheets.forEach(function(eachSheets){
eachSheets.showSheet();
})
}
ส่วนวิธีการส่งเข้า Line นั้นหวังว่าเพื่อน ๆ คงทำได้กันแล้วใช้ไหมครับ เพียงแค่เอาตัวแปล pdfFileUrl ส่งเข้าไลน์กลุ่มนั้นเอง
ขอให้สนุกกับการทำนะครับ
ที่มาครูสมชายคัดมาจาก : {getButton} $text={อ้างอิงที่มา} $icon={share} $color={pink}