รายรับรายจ่าย excel

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 ให้เรากดเลือก แล้วลบโค๊ดทั้งหมดของหน้านี้ออก แล้ว คัดลอกโค๊ดจากด้านล่างนี้ไปใส่แทน

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 ให้ลบโค๊ดที่มีมาให้ ออกให้หมดแล้วคัดลอกโค๊ด ด้านล่างนี้ไปใส่แทน

<!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 sheet ป้องกันช่วงข้อมูล บนแผ่นงาน
By Google sheet 17 May, 2024
สำหรับ ใครที่กำลัง หาวิธีการป้องกันช่วงของข้อมูล แค่บางคอลั่ม หรือ บางเซลล์ ให้แก้ไขได้เฉพาะ คนที่เราต้องการ(อีเมล) เท่านั้น สามารถทำตามนี้ได้เลยครับ
ตั้งค่าสิทธิ์ ซ่อนแผ่นงาน เฉพาะบางอีเมลเท่านั้น บน Google sheet
By Admin 10 May, 2024
โดยปกติ การใช้งาน Google sheet เพื่อทำงานในองค์กรนั้น ถูกใช้งานกันอย่างแพร่หลายอยู่แล้ว และบางครั้ง ความจำเป็นของการใช้งานบนไฟล์เดียวกัน ก็เลี่ยงไม่ได้ ที่จะต้องมีบางข้อมูล ที่อาจจะไม่อยากให้บางคนเห็นข้อมูลนั้นๆ แต่การใช้งาน Google sheet นั้น ก็ยังมีข้อจำกัดบางอย่าง แต่ก็ไม่ใช่ปัญหาที่สำคัญ วันนี้ แอดมิน จึงนำเทคนิค การ ซ่อนแผ่นงาน บางหน้า ให้เฉพาะคนที่เราต้องการให้เปิดได้เท่านั้น จึงจะสามารถเปิดดูและแก้ไขได้
เทมเพลต รายรับรายจ่าย สำหรับธุรกิจ ใช้งานบน Google sheet ใช้งานง่าย
By Admin 03 Apr, 2024
เทมเพลต หรือ แม่แบบ สำหรับใช้บันทึกรายรับรายจ่าย บน Google sheet ถูกออกแบบการใช้งานและผูกสูตรไว้ครบแล้ว สามารถนำไปใช้งานได้เลย จะทำให้การจัดการเรื่องรายรับรายจ่ายของธุรกิจคุณ เป็นระบบและประหยัดเวลามากขึ้นได้อย่างแน่นอน
Share by: