Jabphap CertMakerคู่มือการติดตั้ง
⏱ ติดตั้งประมาณ 10 นาที · ไม่ต้องเขียนโค้ด

ติดตั้ง Jabphap CertMaker

สร้างใบประกาศนียบัตร/เอกสาร PDF อัตโนมัติจากเทมเพลต Google Slides/Docs + ส่งอีเมล + หน้าตรวจสอบ — ทำงานบน Google Sheets และ Apps Script ในบัญชี Google ของคุณเอง ไม่มีค่ารายเดือน ไม่ต้องเช่าเซิร์ฟเวอร์

👤บัญชี GoogleGmail หรือ Google Workspace
💻คอมพิวเตอร์ใช้ตอนติดตั้งครั้งแรก
📄3 ไฟล์Code.gs · Index.html · appsscript.json
🎨แบบใบประกาศGoogle Slides/Docs (หรือใช้แบบตัวอย่างที่ระบบสร้างให้)
📑 สารบัญ
1

เริ่มต้น

สร้างไฟล์ Google Sheets ใหม่

ไฟล์นี้คือฐานข้อมูลของระบบ เก็บรายชื่อผู้รับ เทมเพลต งานสร้าง PDF และทะเบียนใบประกาศทุกใบ

  1. เข้า sheets.new ด้วยบัญชี Google ที่จะใช้งานจริง (ไฟล์ PDF จะเก็บใน Google Drive ของบัญชีนี้)
  2. คลิกชื่อไฟล์มุมซ้ายบน แล้วตั้งชื่อ เช่น เกียรติบัตร 2569 — CertMaker
2

ใส่ระบบ

วางไฟล์ Code.gs, Index.html และ appsscript.json

ชุดไฟล์ที่ได้รับมี 3 ไฟล์หลักที่ต้องวาง (โฟลเดอร์ tools และ GUIDE ไม่ต้องอัปโหลด)

  1. ในไฟล์ชีต ไปที่ ส่วนขยาย›Apps Script
  2. ตั้งชื่อโปรเจกต์มุมซ้ายบนเป็น Jabphap CertMaker (ชื่อนี้จะแสดงในหน้าขออนุญาตสิทธิ์)
  3. เปิดไฟล์ Code.gs ในหน้าแก้ไข กด Ctrl + A ลบโค้ดเดิม แล้ววาง Code.gs ที่ได้รับทั้งไฟล์ กด Ctrl + S
  4. กดปุ่ม + ข้างคำว่า “ไฟล์” › HTML ตั้งชื่อว่า Index (ระบบจะเติม .html ให้เอง) ลบเนื้อหาเดิมแล้ววาง Index.html ทั้งไฟล์ กดบันทึก
  5. ไปที่ ⚙ การตั้งค่าโปรเจกต์ ติ๊ก “แสดงไฟล์ Manifest ‘appsscript.json’ ในเครื่องมือแก้ไข” กลับมาเปิด appsscript.json วางทับทั้งไฟล์ แล้วบันทึก
✓ ชื่อไฟล์ต้องเป็น Index ตัว I ใหญ่

Code.gs เรียกหน้าเว็บจากไฟล์ชื่อ Index ถ้าสะกดต่างไป หน้าเว็บจะเปิดไม่ขึ้น

⚠ วางให้ครบทั้งไฟล์

เลื่อนดูบรรทัดสุดท้ายของ Code.gs และ Index.html ว่าวางครบ (Index.html ลงท้ายด้วย </html>)

appsscript.json ทำอะไร และระบบขอสิทธิ์อะไรบ้าง

กำหนดเขตเวลา Asia/Bangkok และระบุสิทธิ์ที่ใช้จริงเท่านั้น:

ดู แก้ไข สร้างสเปรดชีตอ่านรายชื่อ เขียนเลขที่ ลิงก์ PDF และทะเบียนใบประกาศ
ดู แก้ไข สร้าง ลบไฟล์ใน Google Driveคัดลอกเทมเพลต สร้างไฟล์ PDF และโฟลเดอร์เก็บงาน
Google Slides / Google Docsแทนค่า {{ช่อง}} ในสำเนาเทมเพลตก่อนแปลงเป็น PDF
ส่งอีเมลในนามของคุณส่ง PDF ให้ผู้รับแต่ละคน
จัดการทริกเกอร์ทำงานต่อเบื้องหลังทุก 5 นาทีเมื่อรายชื่อเยอะ
แสดงเมนูในชีต / ดูอีเมลของคุณเมนูในไฟล์ชีต และแสดงบัญชีที่ใช้งาน
3

ทำครั้งเดียว

รันฟังก์ชัน setup เพื่อสร้างชีต

  1. ในหน้าแก้ไข Code.gs เลือกฟังก์ชัน setup จากรายการด้านบน แล้วกด ▶ เรียกใช้
  2. ครั้งแรก Google จะขออนุญาตสิทธิ์ — ทำตามขั้นที่ 4 แล้วระบบจะรันต่อเอง
  3. เมื่อเสร็จ ดู บันทึกการดำเนินการ (Execution log) ด้านล่าง จะขึ้นข้อความ “ติดตั้ง Jabphap CertMaker เรียบร้อย”

ระบบจะสร้างชีตเหล่านี้ให้อัตโนมัติ (พร้อมข้อมูลตัวอย่างให้ลองใช้):

ชีตเก็บอะไร
รายชื่อชื่อ-นามสกุล อีเมล หลักสูตร วันที่ ชั่วโมง ผลการประเมิน รุ่น + คอลัมน์ระบบ (เลขที่ รหัสตรวจสอบ สถานะ ไฟล์ PDF ส่งอีเมลเมื่อ)
เทมเพลตไฟล์ Slides/Docs ช่องแทนค่า รูปแบบชื่อไฟล์ และเลขที่ถัดไป
งานสร้างการสร้าง PDF แต่ละครั้ง สถานะและความคืบหน้า
ทะเบียนใบประกาศใบประกาศทุกใบที่ออก ใช้กับหน้าตรวจสอบสาธารณะ
🔑 จดรหัสตั้งค่าครั้งแรก 6 หลัก

ใน Execution log จะมีข้อความ รหัสตั้งค่าครั้งแรก: 123456 ใช้รหัสนี้ตอนเปิดเว็บแอปครั้งแรกเพื่อตั้งรหัสผ่านผู้ดูแล (ลืมรหัสผ่านภายหลัง ให้รันฟังก์ชัน resetAdminPassword เพื่อรับรหัสใหม่)

✓ รัน setup ซ้ำได้

ถ้าเผลอลบชีต หรืออัปเดตเวอร์ชันใหม่ ให้รัน setup อีกครั้ง ระบบจะสร้างเฉพาะส่วนที่ขาด ข้อมูลเดิมไม่หาย

4

ทำครั้งเดียว

อนุญาตสิทธิ์ให้ระบบ

เป็นเรื่องปกติของสคริปต์ที่ติดตั้งเองในบัญชีของคุณ ข้อมูลไม่ได้ถูกส่งไปที่อื่น

4.1 กด ตรวจสอบสิทธิ์ แล้วเลือกบัญชี Google ของคุณ
4.1 กด ตรวจสอบสิทธิ์ แล้วเลือกบัญชี Google ของคุณ
4.2 เจอ “Google ยังไม่ได้ยืนยันแอปนี้” ให้กด ขั้นสูง แล้วกด ไปที่ Jabphap CertMaker (ไม่ปลอดภัย) จากนั้นกด อนุญาต / ดำเนินการต่อ
4.2 เจอ “Google ยังไม่ได้ยืนยันแอปนี้” ให้กด ขั้นสูง แล้วกด ไปที่ Jabphap CertMaker (ไม่ปลอดภัย) จากนั้นกด อนุญาต / ดำเนินการต่อ
🔐 ทำไมขึ้นว่า “ไม่ปลอดภัย”?

เพราะสคริปต์เป็นของคุณเองและไม่ได้ส่งให้ Google ตรวจรับรอง สคริปต์ทำงานในบัญชีของคุณเท่านั้น

5

เปิดใช้งาน

เผยแพร่เป็นเว็บแอป

  1. มุมขวาบน กด ทำให้ใช้งานได้›การทำให้ใช้งานได้รายการใหม่
  2. กดรูปเฟือง ⚙ เลือก เว็บแอป
  3. ตั้งค่า เรียกใช้ในฐานะ: ฉัน และ ผู้มีสิทธิ์เข้าถึง: ทุกคน แล้วกด ทำให้ใช้งานได้
  4. คัดลอก URL ของเว็บแอป (ลงท้ายด้วย /exec) เก็บไว้ หรือบุ๊กมาร์กในมือถือ
5.1 ทำให้ใช้งานได้ › การทำให้ใช้งานได้รายการใหม่
5.1 ทำให้ใช้งานได้ › การทำให้ใช้งานได้รายการใหม่
5.2 เลือกประเภท เว็บแอป
5.2 เลือกประเภท เว็บแอป
5.3 ตั้งค่าผู้เรียกใช้และผู้มีสิทธิ์เข้าถึง แล้วกด ทำให้ใช้งานได้
5.3 ตั้งค่าผู้เรียกใช้และผู้มีสิทธิ์เข้าถึง แล้วกด ทำให้ใช้งานได้
5.4 คัดลอก URL ของเว็บแอป — ในภาพเป็นตัวอย่างจากโปรเจกต์อื่น URL ของคุณจะต่างออกไป
5.4 คัดลอก URL ของเว็บแอป — ในภาพเป็นตัวอย่างจากโปรเจกต์อื่น URL ของคุณจะต่างออกไป
⚠ ทำไมต้องเลือก “ทุกคน”

หน้าตรวจสอบใบประกาศ (?verify=รหัส) ต้องให้บุคคลภายนอกเปิดได้โดยไม่ต้องล็อกอิน Google หน้าจัดการทั้งหมดยังป้องกันด้วยรหัสผ่านผู้ดูแล

6

ใช้งานครั้งแรก

ตั้งรหัสผ่านผู้ดูแล และสร้างใบประกาศแรก

  1. เปิด URL เว็บแอป กรอก รหัสตั้งค่าครั้งแรก 6 หลัก จาก Execution log แล้วตั้งรหัสผ่านผู้ดูแล (อย่างน้อย 6 ตัว)
  2. ไปที่ ตั้งค่า ใส่ชื่อหน่วยงาน (แสดงบนหน้าตรวจสอบ)
  3. ไปที่ เทมเพลต กด สร้างเทมเพลตตัวอย่าง หรือวางลิงก์ Google Slides/Docs ของคุณ
  4. ไปที่ สร้างใบประกาศ เลือกรายชื่อ แล้วกด เริ่มสร้าง
หน้าเข้าสู่ระบบผู้ดูแล
หน้าเข้าสู่ระบบผู้ดูแล
⚠ เวลาทำงานต่อรอบ

Google ให้สคริปต์ทำงานได้ประมาณ 6 นาทีต่อรอบ (สร้างได้ราว 40–80 ใบ) รายชื่อที่เหลือระบบจะทำต่อเองทุก 5 นาที

7

ดูแลระบบ

อัปเดตเวอร์ชันใหม่

  1. วาง Code.gs และ Index.html เวอร์ชันใหม่ทับของเดิม แล้วบันทึก
  2. รันฟังก์ชัน setup อีกครั้ง (เพิ่มคอลัมน์/ชีตใหม่ถ้ามี ข้อมูลเดิมไม่หาย)
  3. ไปที่ ทำให้ใช้งานได้›จัดการการทำให้ใช้งานได้ กดแก้ไข ✏ เลือก เวอร์ชัน: เวอร์ชันใหม่ แล้วกด ทำให้ใช้งานได้ — URL เดิมใช้ต่อได้

ช่วยเหลือ

คำถามที่พบบ่อย

ฟอนต์ภาษาไทยใน PDF เพี้ยน

ใช้ฟอนต์ที่มีใน Google Slides/Docs เช่น Sarabun, Prompt, Kanit, Noto Sans Thai และเว้นพื้นที่ให้ชื่อยาวพอ

ช่อง {{ชื่อ}} ไม่ถูกแทนค่า

พิมพ์ช่องแทนค่าในเทมเพลตให้ต่อเนื่องในครั้งเดียว (ไม่จัดรูปแบบตัวอักษรต่างกันกลางคำ) แล้วกดปุ่ม 🔄 อ่านช่องแทนค่าใหม่ในหน้าเทมเพลต ชื่อในวงเล็บปีกกาต้องตรงกับหัวคอลัมน์ในชีต

ต้องการสร้างใบเดิมใหม่หลังแก้ชื่อผิด

แก้ชื่อในชีต แล้วเลือกโหมด “สร้างใหม่ทั้งหมด” พร้อมกรองเฉพาะคนนั้น เลขที่และรหัสตรวจสอบเดิมจะถูกใช้ต่อ

ลืมรหัสผ่านผู้ดูแล

เปิด Apps Script รันฟังก์ชัน resetAdminPassword แล้วใช้รหัส 6 หลักใหม่จาก Execution log ตั้งรหัสผ่านใหม่

เปิด URL แล้วขึ้น “ไม่พบสคริปต์ฟังก์ชัน: doGet” หรือหน้าขาว

ตรวจว่าวาง Code.gs ครบทั้งไฟล์ และมีไฟล์ HTML ชื่อ Index จากนั้นทำให้ใช้งานได้เป็นเวอร์ชันใหม่

หน้าเว็บขึ้นว่า “ยังไม่ได้ติดตั้งระบบ”

ยังไม่ได้รันฟังก์ชัน setup หรือรันจากโปรเจกต์ที่ไม่ได้ผูกกับไฟล์ชีต ให้เปิด Apps Script จากเมนู ส่วนขยาย ของไฟล์ชีต แล้วรัน setup

ทริกเกอร์อัตโนมัติอยู่ที่ไหน

ใน Apps Script เมนูด้านซ้ายรูปนาฬิกา (ทริกเกอร์) จะเห็นทริกเกอร์ที่ setup สร้างไว้ ไม่ควรลบ หากเผลอลบให้รัน setup ใหม่