Розмір відео: 1280 X 720853 X 480640 X 360
Показувати елементи керування програвачем
Автоматичне відтворення
Автоповтор
ขอบคุณมากๆครับ นำไฟล์พี่มาปรับใช้ตั้งแต่ CRM เลยครับ ขอบคุณจริงๆครับบบ
good อีกแล้ว คนๆนี้
ขอบรรยายหน่อย หลายๆครั้ง ผมเข้ามา comment ให้กำลังใจ แต่ก็ไม่ได้ทำตามเพราะบางอันก็ไม่ตรงกับงานต้องแก้เยอะ บางอันก็ทำได้อยู่แล้วแต่คลิปคุณก็เป็นอะไรที่สุดยอดมากๆ ทำตามได้ง่าย ใช้งานได้จริง และมีสรุปบรรยาย อย่างดี ชื่นชมจนอยากไปหาเลยจริงๆ 😆😆😆
โอ้ ขอบคุณมากเลยนะครับที่อุตส่าห์ติดตามช่วยให้กำลังใจผมตั้งแต่ตอนที่ยังไม่มีคนดูเลยจนมาถึงตอนนี้ครับหวังว่าจะได้มีโอกาสเจอกันนะครับ :)
เห็นมีอยู่ช่วงนึงใน คลิปนี้ คุณบอก กดปุ่ม print แล้ว รอมันทำงานผมลองเอา script คุณไปใส่ chatgpt มันแก้ มาให้ เขียน script ได้กระชับขึ้น สั้นลงทำงานได้เหมือนเดิม และเร็วขึ้นมาก const ssID = "ชื่อ gg sheet id"; // Google Sheet IDconst pdfFolder = DriveApp.getFolderById("gg drive id"); // Folder PDF IDconst controlsheet_name = "ชีทควบคุม"; // ชีทข้อมูลเอกสารที่เราจะปริ้นconst formsheet_name = "ใบสำคัญจ่าย"; // ชีทสำหรับ printconst 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 } }}
โอ้ สุดยอดเลยครับ ผมขอไปลองศึกษาดู แล้วเดี๋ยวมาอัพเดทอีกทีนะครับ
ขอบคุณครับ🙏🙏🙏
อยากให้พี่ สอน ปรับtemplate เช็คสต็อคสินค้า แบบมีLot ให้มาใช้กับ line chat bot ครับ ขอบคุณครับ🙏
สอนปรับตัว scrip คับ🙏🙏
ที่ comment หมายถึงหมายถึงคลิป template สต๊อกแบบมี lot ไม่ได้เกี่ยวอะไรกับคลิปนี้ใช่ไหมครับตัวคลิปสต๊อก line chatbot check stock จะมีอธิบาย concept คร่าวๆอยู่ละครับ ลองเล่นดูให้พอเห็นภาพน่าจะสามารถนำไปปรับใช้ได้ครับแต่ถ้าติด code หรือ logic ส่วนใหนก็ inbox มาถามได้นะครับ
ผมอยากทราบวิธีทำให้ชีต เมื่อมีค่าหรือข้อมูลแล้วเลื่อนคอลั่มขึ้นมายู่ข้างบน ส่วนที่ยังไม่มีข้อมูลจะเลื่อนลงมาอยู่ข้าวล่างแทนครับ อยากได้มาปรับใช้ให้เข้ากับงานครับ
ให้เราใช้สูตร Query ไปอีกชีทนึงแล้ว sort ข้อมูลตามต้องการได้เลยครับ
@noobitguy มีคลิปในสอนแนวๆนี้ไหมครับ ผมยังไม่ค่อยชำนาญด้วย ก็ดูจากหลายๆคลิปของพี่แล้วก็มาปรับใช้ครับ ผมเริ่มดูแล้วทำใช้มาสองปีแล้ว ตอนนี้อยากปรับในส่วนที่ผมถามไปก่อนหน้าครับ มีคลิปไหนที่พี่เคยลงไว้แล้วมีทำรูปแบบคล้ายๆไหมครับผมจะได้นำมาปรับใช้ดู
@ มีอยู่เหมือนกันครับ แต่ลองเริ่มจากคลิปที่สอนเรื่อง query ก่อนก็ได้ครับ
@@noobitguy ได้เรียบร้อยครับ ปรับใช้กับหน้างานแล้วครับ ขอบคุณมากๆครับ
ขอบคุณมากๆครับ นำไฟล์พี่มาปรับใช้ตั้งแต่ CRM เลยครับ ขอบคุณจริงๆครับบบ
good อีกแล้ว คนๆนี้
ขอบรรยายหน่อย หลายๆครั้ง ผมเข้ามา comment ให้กำลังใจ
แต่ก็ไม่ได้ทำตามเพราะบางอันก็ไม่ตรงกับงานต้องแก้เยอะ บางอันก็ทำได้อยู่แล้ว
แต่คลิปคุณก็เป็นอะไรที่สุดยอดมากๆ ทำตามได้ง่าย ใช้งานได้จริง และมีสรุปบรรยาย อย่างดี
ชื่นชมจนอยากไปหาเลยจริงๆ 😆😆😆
โอ้ ขอบคุณมากเลยนะครับที่อุตส่าห์ติดตามช่วยให้กำลังใจผมตั้งแต่ตอนที่ยังไม่มีคนดูเลยจนมาถึงตอนนี้ครับ
หวังว่าจะได้มีโอกาสเจอกันนะครับ :)
เห็นมีอยู่ช่วงนึงใน คลิปนี้ คุณบอก กดปุ่ม 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
}
}
}
โอ้ สุดยอดเลยครับ ผมขอไปลองศึกษาดู แล้วเดี๋ยวมาอัพเดทอีกทีนะครับ
ขอบคุณครับ🙏🙏🙏
อยากให้พี่ สอน ปรับtemplate เช็คสต็อคสินค้า แบบมีLot ให้มาใช้กับ line chat bot ครับ ขอบคุณครับ🙏
สอนปรับตัว scrip คับ🙏🙏
ที่ comment หมายถึงหมายถึงคลิป template สต๊อกแบบมี lot ไม่ได้เกี่ยวอะไรกับคลิปนี้ใช่ไหมครับ
ตัวคลิปสต๊อก line chatbot check stock จะมีอธิบาย concept คร่าวๆอยู่ละครับ ลองเล่นดูให้พอเห็นภาพน่าจะสามารถนำไปปรับใช้ได้ครับ
แต่ถ้าติด code หรือ logic ส่วนใหนก็ inbox มาถามได้นะครับ
ผมอยากทราบวิธีทำให้ชีต เมื่อมีค่าหรือข้อมูลแล้วเลื่อนคอลั่มขึ้นมายู่ข้างบน ส่วนที่ยังไม่มีข้อมูลจะเลื่อนลงมาอยู่ข้าวล่างแทนครับ อยากได้มาปรับใช้ให้เข้ากับงานครับ
ให้เราใช้สูตร Query ไปอีกชีทนึงแล้ว sort ข้อมูลตามต้องการได้เลยครับ
@noobitguy มีคลิปในสอนแนวๆนี้ไหมครับ ผมยังไม่ค่อยชำนาญด้วย ก็ดูจากหลายๆคลิปของพี่แล้วก็มาปรับใช้ครับ ผมเริ่มดูแล้วทำใช้มาสองปีแล้ว ตอนนี้อยากปรับในส่วนที่ผมถามไปก่อนหน้าครับ มีคลิปไหนที่พี่เคยลงไว้แล้วมีทำรูปแบบคล้ายๆไหมครับผมจะได้นำมาปรับใช้ดู
@ มีอยู่เหมือนกันครับ แต่ลองเริ่มจากคลิปที่สอนเรื่อง query ก่อนก็ได้ครับ
@@noobitguy ได้เรียบร้อยครับ ปรับใช้กับหน้างานแล้วครับ ขอบคุณมากๆครับ