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

Поділитися
Вставка
  • Опубліковано 17 гру 2024

КОМЕНТАРІ • 17

  • @KonkritKetkaew
    @KonkritKetkaew 16 днів тому

    ขอบคุณมากๆครับ นำไฟล์พี่มาปรับใช้ตั้งแต่ CRM เลยครับ ขอบคุณจริงๆครับบบ

  • @pping4
    @pping4 16 днів тому

    good อีกแล้ว คนๆนี้

    • @pping4
      @pping4 16 днів тому

      ขอบรรยายหน่อย หลายๆครั้ง ผมเข้ามา comment ให้กำลังใจ
      แต่ก็ไม่ได้ทำตามเพราะบางอันก็ไม่ตรงกับงานต้องแก้เยอะ บางอันก็ทำได้อยู่แล้ว
      แต่คลิปคุณก็เป็นอะไรที่สุดยอดมากๆ ทำตามได้ง่าย ใช้งานได้จริง และมีสรุปบรรยาย อย่างดี
      ชื่นชมจนอยากไปหาเลยจริงๆ 😆😆😆

    • @noobitguy
      @noobitguy  15 днів тому

      โอ้ ขอบคุณมากเลยนะครับที่อุตส่าห์ติดตามช่วยให้กำลังใจผมตั้งแต่ตอนที่ยังไม่มีคนดูเลยจนมาถึงตอนนี้ครับ
      หวังว่าจะได้มีโอกาสเจอกันนะครับ :)

    • @pping4
      @pping4 15 днів тому

      เห็นมีอยู่ช่วงนึงใน คลิปนี้ คุณบอก กดปุ่ม 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  8 днів тому

      โอ้ สุดยอดเลยครับ ผมขอไปลองศึกษาดู แล้วเดี๋ยวมาอัพเดทอีกทีนะครับ

  • @belldatat2
    @belldatat2 17 днів тому

    ขอบคุณครับ🙏🙏🙏

  • @นรจณัฐพลโมกไธสง

    อยากให้พี่ สอน ปรับtemplate เช็คสต็อคสินค้า แบบมีLot ให้มาใช้กับ line chat bot ครับ ขอบคุณครับ🙏

    • @นรจณัฐพลโมกไธสง
      @นรจณัฐพลโมกไธสง 20 днів тому

      สอนปรับตัว scrip คับ🙏🙏

    • @noobitguy
      @noobitguy  17 днів тому +1

      ที่ comment หมายถึงหมายถึงคลิป template สต๊อกแบบมี lot ไม่ได้เกี่ยวอะไรกับคลิปนี้ใช่ไหมครับ
      ตัวคลิปสต๊อก line chatbot check stock จะมีอธิบาย concept คร่าวๆอยู่ละครับ ลองเล่นดูให้พอเห็นภาพน่าจะสามารถนำไปปรับใช้ได้ครับ
      แต่ถ้าติด code หรือ logic ส่วนใหนก็ inbox มาถามได้นะครับ

  • @phanyutthaphumMoosophon
    @phanyutthaphumMoosophon 21 день тому

    ผมอยากทราบวิธีทำให้ชีต เมื่อมีค่าหรือข้อมูลแล้วเลื่อนคอลั่มขึ้นมายู่ข้างบน ส่วนที่ยังไม่มีข้อมูลจะเลื่อนลงมาอยู่ข้าวล่างแทนครับ อยากได้มาปรับใช้ให้เข้ากับงานครับ

    • @noobitguy
      @noobitguy  20 днів тому +1

      ให้เราใช้สูตร Query ไปอีกชีทนึงแล้ว sort ข้อมูลตามต้องการได้เลยครับ

    • @phanyutthaphumMoosophon
      @phanyutthaphumMoosophon 20 днів тому

      @noobitguy มีคลิปในสอนแนวๆนี้ไหมครับ ผมยังไม่ค่อยชำนาญด้วย ก็ดูจากหลายๆคลิปของพี่แล้วก็มาปรับใช้ครับ ผมเริ่มดูแล้วทำใช้มาสองปีแล้ว ตอนนี้อยากปรับในส่วนที่ผมถามไปก่อนหน้าครับ มีคลิปไหนที่พี่เคยลงไว้แล้วมีทำรูปแบบคล้ายๆไหมครับผมจะได้นำมาปรับใช้ดู

    • @noobitguy
      @noobitguy  20 днів тому +1

      @ มีอยู่เหมือนกันครับ แต่ลองเริ่มจากคลิปที่สอนเรื่อง query ก่อนก็ได้ครับ

    • @phanyutthaphumMoosophon
      @phanyutthaphumMoosophon 18 днів тому

      @@noobitguy ได้เรียบร้อยครับ ปรับใช้กับหน้างานแล้วครับ ขอบคุณมากๆครับ