ระบบสร้างเอกสาร บิลต่างๆใน Google Sheet พร้อม export เป็นไฟล์ PDF ด้วยปุ่มเดียว!

  Рет қаралды 4,931

บริหารงานแบบคนไอที

บริหารงานแบบคนไอที

Күн бұрын

Пікірлер: 24
@KonkritKetkaew
@KonkritKetkaew Ай бұрын
ขอบคุณมากๆครับ นำไฟล์พี่มาปรับใช้ตั้งแต่ CRM เลยครับ ขอบคุณจริงๆครับบบ
@belldatat2
@belldatat2 Ай бұрын
ขอบคุณครับ🙏🙏🙏
@pping4
@pping4 Ай бұрын
good อีกแล้ว คนๆนี้
@pping4
@pping4 Ай бұрын
ขอบรรยายหน่อย หลายๆครั้ง ผมเข้ามา comment ให้กำลังใจ แต่ก็ไม่ได้ทำตามเพราะบางอันก็ไม่ตรงกับงานต้องแก้เยอะ บางอันก็ทำได้อยู่แล้ว แต่คลิปคุณก็เป็นอะไรที่สุดยอดมากๆ ทำตามได้ง่าย ใช้งานได้จริง และมีสรุปบรรยาย อย่างดี ชื่นชมจนอยากไปหาเลยจริงๆ 😆😆😆
@noobitguy
@noobitguy Ай бұрын
โอ้ ขอบคุณมากเลยนะครับที่อุตส่าห์ติดตามช่วยให้กำลังใจผมตั้งแต่ตอนที่ยังไม่มีคนดูเลยจนมาถึงตอนนี้ครับ หวังว่าจะได้มีโอกาสเจอกันนะครับ :)
@pping4
@pping4 Ай бұрын
เห็นมีอยู่ช่วงนึงใน คลิปนี้ คุณบอก กดปุ่ม print แล้ว รอมันทำงาน ผมลองเอา script คุณไปใส่ chatgpt มันแก้ มาให้ เขียน script ได้กระชับขึ้น สั้นลง ทำงานได้เหมือนเดิม และเร็วขึ้นมาก const ssID = "ชื่อ gg sheet id"; // Google Sheet ID const pdfFolder = DriveApp.getFolderById("gg drive id"); // Folder PDF ID const controlsheet_name = "ชีทควบคุม"; // ชีทข้อมูลเอกสารที่เราจะปริ้น const formsheet_name = "ใบสำคัญจ่าย"; // ชีทสำหรับ print const hideableSheets = ["ชื่อsheet1", "ชื่อsheet2", "ชื่อsheet3"]; // ชื่อชีทที่ต้องซ่อน function SaveAsPDFToFolder() { const spreadsheet = SpreadsheetApp.openById(ssID); const controlSheet = spreadsheet.getSheetByName(controlsheet_name); const formSheet = spreadsheet.getSheetByName(formsheet_name); const controlData = controlSheet.getRange(2, 1, controlSheet.getLastRow() - 1, 3).getValues(); // Loop ผ่านข้อมูลในชีทควบคุม for (let i = 0; i < controlData.length; i++) { if (controlData[i][1] === true) { // ตรวจสอบว่าถูกติ๊กในคอลัมน์ "ต้องการปริ้น" const documentNumber = controlData[i][0]; // ตั้งค่าในฟอร์มชีท formSheet.getRange("C6").setValue(documentNumber); // ปรับตำแหน่ง Range ให้เหมาะสม // ซ่อนชีททั้งหมดที่ไม่ใช่ฟอร์มชีท hideableSheets.forEach(sheetName => { const sheet = spreadsheet.getSheetByName(sheetName); if (sheet) sheet.hideSheet(); }); controlSheet.hideSheet(); // สร้างไฟล์ PDF const blob = formSheet.getParent().getBlob().getAs('application/pdf'); const pdfFile = pdfFolder.createFile(blob).setName(documentNumber); // แสดงชีทที่ซ่อน hideableSheets.forEach(sheetName => { const sheet = spreadsheet.getSheetByName(sheetName); if (sheet) sheet.showSheet(); }); controlSheet.showSheet(); // อัปเดตสถานะในชีทควบคุม controlSheet.getRange(i + 2, 2).setValue(false); // ปุ่ม "ต้องการปริ้น" เป็น false controlSheet.getRange(i + 2, 3).setValue(true); // ปุ่ม "ปริ้นแล้ว" เป็น true controlSheet.getRange(i + 2, 4).setValue(pdfFile.getUrl()); // ใส่ URL ของไฟล์ PDF } } }
@noobitguy
@noobitguy Ай бұрын
โอ้ สุดยอดเลยครับ ผมขอไปลองศึกษาดู แล้วเดี๋ยวมาอัพเดทอีกทีนะครับ
@freedm8671
@freedm8671 23 сағат бұрын
ลองเอาไปปรับใช้กับ CRM แต่พอเวลากดปุ่มส่งไป drive แล้ว เอกสารขึ้นหลายหน้าเลยคะ ไม่ใช่แค่หน้าใบสำคัญจ่าย ไม่แน่ใจว่าพอมีวิธีแก้ไหมคะ
@noobitguy
@noobitguy 23 сағат бұрын
@@freedm8671 หลัการคือเราต้อง hide sheets ที่ไม่ใช้งานทั้งหมดออกไปก่อนปริ้นครับ ผมมีอธิบายในช่วงอธิบายคลิปอยู่ละครับ
@freedm8671
@freedm8671 22 сағат бұрын
@@noobitguy ได้แล้ว ขอบคุณค่ะ
@somphopsuyawej
@somphopsuyawej 9 күн бұрын
var pdfFile = pdfFolder.createFile(Blob).setName(controlData[i][0]); รบกวนสอบถาม กรณี ผมต้องการตั้งชื่อไฟล์ pdf โดยชื่อไฟล์ผมจะอยู่แถวที่ F จะต้องทำอย่างไรครับ
@noobitguy
@noobitguy 7 күн бұрын
เปลี่ยนที่เลข 0 หลังสุดได้เลยครับ ถ้าสงสัยว่าทำไมต้องเปลี่ยนที่เลข 0 ให้ search concept เกี่ยวกับ array ดูนะครับ
@somphopsuyawej
@somphopsuyawej 7 күн бұрын
@@noobitguy var pdfFile = pdfFolder.createFile(Blob).setName(controlData[i][5]); ฟ้อง Exception: อาร์กิวเมนต์ต้องไม่เป็นนัล: name
@นรจณัฐพลโมกไธสง
@นรจณัฐพลโมกไธสง Ай бұрын
อยากให้พี่ สอน ปรับtemplate เช็คสต็อคสินค้า แบบมีLot ให้มาใช้กับ line chat bot ครับ ขอบคุณครับ🙏
@นรจณัฐพลโมกไธสง
@นรจณัฐพลโมกไธสง Ай бұрын
สอนปรับตัว scrip คับ🙏🙏
@noobitguy
@noobitguy Ай бұрын
ที่ comment หมายถึงหมายถึงคลิป template สต๊อกแบบมี lot ไม่ได้เกี่ยวอะไรกับคลิปนี้ใช่ไหมครับ ตัวคลิปสต๊อก line chatbot check stock จะมีอธิบาย concept คร่าวๆอยู่ละครับ ลองเล่นดูให้พอเห็นภาพน่าจะสามารถนำไปปรับใช้ได้ครับ แต่ถ้าติด code หรือ logic ส่วนใหนก็ inbox มาถามได้นะครับ
@phanyutthaphumMoosophon
@phanyutthaphumMoosophon Ай бұрын
ผมอยากทราบวิธีทำให้ชีต เมื่อมีค่าหรือข้อมูลแล้วเลื่อนคอลั่มขึ้นมายู่ข้างบน ส่วนที่ยังไม่มีข้อมูลจะเลื่อนลงมาอยู่ข้าวล่างแทนครับ อยากได้มาปรับใช้ให้เข้ากับงานครับ
@noobitguy
@noobitguy Ай бұрын
ให้เราใช้สูตร Query ไปอีกชีทนึงแล้ว sort ข้อมูลตามต้องการได้เลยครับ
@phanyutthaphumMoosophon
@phanyutthaphumMoosophon Ай бұрын
@noobitguy มีคลิปในสอนแนวๆนี้ไหมครับ ผมยังไม่ค่อยชำนาญด้วย ก็ดูจากหลายๆคลิปของพี่แล้วก็มาปรับใช้ครับ ผมเริ่มดูแล้วทำใช้มาสองปีแล้ว ตอนนี้อยากปรับในส่วนที่ผมถามไปก่อนหน้าครับ มีคลิปไหนที่พี่เคยลงไว้แล้วมีทำรูปแบบคล้ายๆไหมครับผมจะได้นำมาปรับใช้ดู
@noobitguy
@noobitguy Ай бұрын
@ มีอยู่เหมือนกันครับ แต่ลองเริ่มจากคลิปที่สอนเรื่อง query ก่อนก็ได้ครับ
@phanyutthaphumMoosophon
@phanyutthaphumMoosophon Ай бұрын
@@noobitguy ได้เรียบร้อยครับ ปรับใช้กับหน้างานแล้วครับ ขอบคุณมากๆครับ
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 81 МЛН
My scorpion was taken away from me 😢
00:55
TyphoonFast 5
Рет қаралды 2,7 МЛН
จับมือทำ App Track งานใน Appsheet (Dev VLOG)
29:47
บริหารงานแบบคนไอที
Рет қаралды 4,2 М.
5 Hidden Windows Features You Should Be Using in 2025!
8:05
Kevin Stratvert
Рет қаралды 113 М.