Google sheet สำหรับอัพโหลดเก็บเอกสาร แนบไฟล์ได้

Admin • May 27, 2023
แนบลิงค์บน Google sheet

Google sheet สามารถอัพโหลดไฟล์และสร้างลิงค์แนบได้ไหม

น่าจะเป็นคำถามที่ค้างคาใจกับหลายๆคนมานาน เพราะเปิดดูเครื่องมือ จะอัพโหลดไฟล์ ก็ไม่มีเครื่องมือที่สามารถอัพไฟล์ได้โดยตรง นอกจากว่า เราจะเอาไฟล์ ไปอัพไว้ที่ Google drive แล้วก็คัดลอกลิงค์ มาแปะไว้ใน Google sheet อีกที มันเลยทำการ การใช้งาน อาจจะไม่สะดวกมากนัก


แต่ถึงแม้ว่า Google sheet จะยังไม่ได้มีเครื่องมือ สำหรับการอัพไฟล์ เพื่อแนบลิงค์มาให้โดยตรง แต่เราก็สามารถ ที่จะสร้างตัวช่วยให้สามารถ กดอัพไฟล์บนหน้า Google sheet โดยตรงได้เลย โดยการใช้ Apps Script ที่ทาง Google sheet เขามีมาให้นั่นเอง จะมีวิธีการทำอย่างไรบ้าง มาดูกัน

ขั้นตอนการทำ


  1. สร้างฟอร์มตาราง สำหรับการบันทึกข้อมูลบน Google sheet ตามตัวอย่าง

ตารางจะประกอบไปด้วย หัวข้อ

- เลขที่เอกสาร

-ประเภทเอกสาร  ให้ทำเป็น Dropdown เพื่อให้สามารถเลือกได้ โดยไปที่เมนู ข้อมูล > การตรวจสอบข้อมูล >และใส่ประเภทของเอกสารเข้าไป

-คำอธิบาย ไว้สำหรับอธิบายเอกสารเพิ่มเติม

-แนบลิงค์เอกสาร ไว้สำหรับแนบลิงค์ไฟล์ ที่ได้จากการอัพโหลดแล้ว

- แถว C3 ไว้สำหรับ รับลิงค์ ที่ได้จากการอัพโหลด ซึ่งจะขึ้นมาให้อัตโนมัติ

-ปุ่ม อัพโหลดไฟล์ ทำได้โดย เลือกที่เมนู แทรก > ภาพวาด

แนบไฟล์บน google sheet


2. ไปที่ Google Drive แล้วสร้าง โฟลเดอร์ใหม่ขึ้นมา เพื่อใช้เก็บไฟล์ที่จะอัพโหลด โดยให้ตั้งชื่อว่า ไฟล์เอกสาร-Googlesheet


3. เมนู ส่วนขยาย > Apps Script

หลังจากที่เข้ามาในหน้า Apps Script ที่แถบด้านข้าง เขียนว่า รหัส JS ให้เรากดเลือก แล้วลบโค๊ดทั้งหมดของหน้านี้ออก แล้ว คัดลอกโค๊ดจากด้านล่างนี้ไปใส่แทน

google sheet
function openUploadForm() { var htmlOutput = HtmlService.createHtmlOutputFromFile('uploadForm.html') .setWidth(200) .setHeight(50); SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'Upload PDF'); } function uploadFileToDrive(base64Data, fileName) { var decodedData = Utilities.base64Decode(base64Data); var folderName = "ไฟล์เอกสาร-Googlesheet"; // ชื่อโฟลเดอร์ที่ต้องการใช้งาน var folder = DriveApp.getFoldersByName(folderName); var targetFolder; if (folder.hasNext()) { targetFolder = folder.next(); } else { targetFolder = DriveApp.createFolder(folderName); } var blob = Utilities.newBlob(decodedData).setContentType('application/pdf').setName(fileName); var file = targetFolder.createFile(blob); var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var linkCell = sheet.getRange("C3"); linkCell.setValue(file.getUrl()); SpreadsheetApp.getUi().alert('อัปโหลดไฟล์ PDF เสร็จสิ้น'); return file.getUrl(); }

4. กดสร้างหน้าใหม่สำหรับใส่โค๊ด HTML

(ตามรูป) กดเครื่องหมาย + แล้วเลือก HTML โดยให้ตั้งชื่อว่า  uploadForm

ภายในหน้าของ uploadForm ให้ลบโค๊ดที่มีมาให้ ออกให้หมดแล้วคัดลอกโค๊ด ด้านล่างนี้ไปใส่แทน

google sheet
<!DOCTYPE html> <html> <head> <base target="_top"> <style> body { font-family: Arial, sans-serif; margin: 20px; } input[type="file"] { margin-bottom: 10px; } #linkContainer { margin-top: 20px; } #linkContainer a { display: block; margin-top: 10px; } </style> </head> <body> <input type="file" id="fileInput" onchange="handleFileSelect(event)"> <div id="linkContainer"></div> <script> function handleFileSelect(event) { var files = event.target.files; var file = files[0]; var reader = new FileReader(); reader.onload = function(e) { var base64Data = e.target.result.split(',')[1]; google.script.run.withSuccessHandler(showLink).uploadFileToDrive(base64Data, file.name); }; reader.readAsDataURL(file); } function showLink(url) { var linkContainer = document.getElementById('linkContainer'); linkContainer.innerHTML = ''; var link = document.createElement('a'); link.href = url; link.textContent = 'ไฟล์ PDF'; link.target = '_blank'; linkContainer.appendChild(link); google.script.host.close(); } </script> </body> </html>

หลังจากทำเสร็จถึงขั้นตอนนี้แล้ว ก็ให้กดบันทึก แล้วกดปุ่ม เรียกใช้

แต่อย่าลืมนะว่า ต้องไปสร้างโฟลเดอร์ใน Google drive ตามชื่อในข้อ2  เรียบร้อยก่อน


5. พอกดเรียกใช้แล้ว Google จะให้เรากดอนุญาตสิทธิ์การเข้าถึง ให้กดตามขั้นตอนนี้เลย

อัพโหลดไฟล์บน Google sheet


6. ไปที่หน้าชีต เพื่อกำหนดให้ สามารถ กดปุ่ม แล้วเรียกใช้งาน Script ที่เราเขียนไว้

โดยการ กดที่ปุ่ม ที่มุมขวาของปุ่มจะมี จุดไข่ปลาสามจุด ให้กดแล้วเลือก กำหนดสคริปต์ จะมีหน้าต่างขึ้นมา ให้ใส่ชื่อ  openUploadForm  ลงไปแล้วกด ตกลง



google sheeet


หลังจากที่ทำทุกขั้นตอนครบแล้ว เราลองมากดใช้งานกัน ว่าสามารถใช้งานได้ตามตัวอย่างนี้ไหม

ถ้าหากใครไม่สามารถ รัน ได้ตามตัวอย่าง ก็ลองกลับไปเช็คใหม่ ตั้งแต่ขั้นตอนแรกอีกครั้งนะครับ

ดาวโหลดเทมเพลตฟรี

ปิดรอบการโหลดแล้ว

ทำเว็บ
การกู้คืนไฟล์ Google sheet
By Google sheet February 5, 2025
สำหรับมือใหม่ ที่กำลังหัดใช้งาน Google sheet อยู่ อาจจะลองกดนั่น กดนี่ เพื่อเรียนรู้การใช้งานไปเรื่อยๆ จนบางครั้งอาจจะไปเผลอ กดลบไฟล์ทิ้งไป โดยไม่รู้ตัว พอจะกลับมากดเข้าไฟล์ใหม่อีกรอบ ปรากฎว่า หาไฟล์ที่เคยใช้งานอยู่ไม่เจอ บนหน้า แอพ Googleชีต ซะแล้ว ถ้าเป็นแบบนี้ จะทำยังไงดี?
รายรับรายจ่าย รับเหมา
By Google ชีต September 15, 2024
หน้าสรุปรายงานตามโครงการ เพียงเลือกชื่อโครงการ ที่ต้องการดูสรุปข้อมูล แค่คลิกเดียว ข้อมูลที่เคยบันทึกไว้ ก็จะถูกดึงมาสรุปให้อัตโนมัติ สามารถดู ต้นทุน ค่าใช้จ่ายในโครงการ กำไร สรุปแล้วแต่ละรายการ คิดเป็นกี่เปอร์เซ็นต์ของรายได้ เราสามารถดูได้จากหน้านี้ได้เลย เราสามารถสั่งพิมพ์รายงานหน้านี้เป็น PDF ได้
บันทึกยอดขาย ธุรกิจออนไลน์
By Google sheet August 9, 2024
หากคุณ กำลัง ทำธุรกิจ ในรูปแบบ ที่ มีการขายออนไลน์ หลายช่องทาง และมีการส่งสินค้า ผ่านทางขนส่งต่างๆ เทมเพลต ตัวนี้ จะช่วยให้การบันทึกรายการขายสินค้า เป็นระบบมากขึ้น
การแยกไฟล์ ให้พนักงานใช้ได้เฉพาะส่วนบันทึกเท่านั้น
By Admin August 4, 2024
วันนี้ แอดมิน จึงจะมาแชร์วิธีการ แยกไฟล์ ออกจากกัน แล้วนำข้อมูลมาสรุปในไฟล์หลัก เพื่อป้องกันไม่ให้ พนักงาน มองเห็นข้อมูลบางอย่างในไฟล์หลักของเราได้ หมายความว่า พนักงานก็จะบันทึกข้อมูลให้เราไปเรื่อยๆ แล้วข้อมูลที่บันทึกนั้น ก็จะไหลเข้าไฟล์หลักของเราทันทีโดยที่ไม่ต้องให้เขาเข้ามาในไฟล์เราเลย เรามาดูวิธีทำกัน
เพิ่มสูตรบนเทมเพลตแยกโครงการ
By Google sheet July 27, 2024
จากเทมเพลตเดิม ที่มีนั้น ผู้ใช้งานได้ให้ฟีดแบคมา และชื่นชอบเทมเพลตเป็นจำนวนมาก เราเห็นว่า ฟังก์ชั่นที่ผู้ใช้งานอยากได้เพิ่มนั้น เป็นสิ่งที่จำเป็นสำหรับผู้ใช้งานเทมเพลตตัวนี้ เราเลยหาวิธี และขั้นตอนที่ง่าย เพื่ออัพเดท ฟังก์ชั่น ให้ฟรี ( ผู้ใช้เทมเพลตต้องทำเพิ่มเอง ตามวิธีการด้านล่าง) เพื่อให้สามารถ ดูรายงานสรุป แยกโครงการ ตามเดือนที่ต้องการดูได้
แยกกระเป๋าเงินส่วนตัวกับธุรกิจ
By Google sheet July 12, 2024
ทำไมเราต้องแยกกระเป๋า ก็เงินเราทั้งหมดไม่ใช่หรอ? เราต้องมาทำความเข้าใจใหม่ เกี่ยวกับเจ้าของเงินกันก่อน เพื่อให้เรามองเห็นภาพได้ชัดมากขึ้น คำถามที่ว่า ทำไมต้องแยกกระเป๋า ก็เงินเราหมดไม่ใช่หรอ ผมอยากให้เพื่อนๆ มองแบบนี้ครับ เมื่อก่อน ถ้าเราไม่ทำธุรกิจเอง เราก็อาจจะไปเป็นลูกจ้างของธุรกิจไหนสักที่ และได้รับค่าตอบแทนเป็นเงินเดือนกลับมาถูกไหมครับ ในทางเดียวกัน เรามาทำธุรกิจเอง ก็หมายความว่า เราย้ายกลับมาเป็นลูกจ้างของธุรกิจเราเอง ดังนั้น เราก็ควรได้รับค่าตอบแทนเช่นเดียวกัน แต่อันที่จริง ก็คือ เงินธุรกิจ ใช้สำหรับหมุนเวียน เพื่อให้ธุรกิจดำเนินกิจการต่อได้และเกิดผลกำไร เงินส่วนตัวก็คือ เงินที่เราใช้จ่ายส่วนตัว ไม่เกี่ยวข้องกับธุรกิจ ถ้าเราแยกจากกันได้ จะทำให้การบริหารเงินขั้นต้น ทำได้ง่ายไม่ปวดหัวครับ หลายๆคนที่ทำไม่ได้ ก็ติดตรงที่แยกกระเป๋าไม่ได้นี่แหล่ะ
Show More