📑 สารบัญ
ติดตั้งบน Google
ทำครั้งเดียวบนคอมพิวเตอร์ ประมาณ 10 นาที
เริ่มต้น
สร้างไฟล์ Google Sheets ใหม่
ไฟล์นี้คือ “ฐานข้อมูล” ของระบบ เก็บกิจกรรม รายชื่อผู้ลงทะเบียน และเวลาเช็คอินทั้งหมด
- เข้า sheets.new ด้วยบัญชี Google ที่ต้องการให้เป็นเจ้าของระบบ
- คลิกชื่อไฟล์มุมซ้ายบน แล้วตั้งชื่อ เช่น EventPass ลงทะเบียนสัมมนา
อีเมลบัตร QR จะส่งออกจากบัญชีนี้ และข้อมูลทั้งหมดอยู่ใน Drive ของบัญชีนี้ แนะนำให้ใช้บัญชีกลางของหน่วยงาน
ใส่ระบบ
วางไฟล์ทั้ง 3 ไฟล์ใน Apps Script
| ไฟล์ที่ได้รับ | หน้าที่ |
|---|---|
Code.gs | โค้ดฝั่งเซิร์ฟเวอร์ทั้งหมด (ฐานข้อมูล ส่งอีเมล เช็คอิน) |
Index.html | หน้าเว็บทั้งหมด — หน้าลงทะเบียน บัตร QR และหน้าผู้จัดงาน |
appsscript.json | ตั้งค่าโปรเจกต์ (เขตเวลา สิทธิ์ เว็บแอป) |
- ในไฟล์ชีต ไปที่เมนู ส่วนขยาย›Apps Script
- เปลี่ยนชื่อโปรเจกต์ (มุมซ้ายบน) เป็น Jabphap EventPass
- เปิดไฟล์ Code.gs กด Ctrl+A ลบโค้ดเดิม แล้ววางเนื้อหาจากไฟล์ Code.gs ที่ได้รับทั้งไฟล์
- กดปุ่ม + ข้างคำว่า “ไฟล์” › HTML ตั้งชื่อว่า
Index(ไม่ต้องพิมพ์ .html) ลบเนื้อหาเดิม แล้ววางเนื้อหาจาก Index.html - ไปที่ ⚙ การตั้งค่าโปรเจกต์ ติ๊ก “แสดงไฟล์ Manifest ‘appsscript.json’ ในเครื่องมือแก้ไข” กลับมาหน้า เครื่องมือแก้ไข เปิด
appsscript.jsonแล้ววางทับด้วยไฟล์ที่ได้รับ - กด Ctrl+S บันทึกทุกไฟล์
Index ตัว I ใหญ่ถ้าตั้งชื่อผิด เปิดเว็บแอปแล้วจะขึ้นข้อความ “ไม่พบไฟล์ HTML ที่ชื่อ Index”
สร้างฐานข้อมูล
รันฟังก์ชัน setup (ครั้งเดียว)
- ในแถบเครื่องมือด้านบน เลือกฟังก์ชัน setup จากรายการ แล้วกด ▶ เรียกใช้
- ครั้งแรก Google จะขอสิทธิ์ ทำตามขั้นตอนถัดไป (ข้อ 4) แล้วระบบจะรันต่อเอง
- ดูที่ บันทึกการดำเนินการ ด้านล่าง จะมีข้อความติดตั้งสำเร็จ และ รหัสผู้ดูแล (PIN) 6 หลัก — จดไว้
กลับไปดูไฟล์ชีต จะมีชีตใหม่: Events Registrations Settings Logs พร้อมข้อมูลตัวอย่าง
รัน setupWithoutSampleData แทน setup (ทำก่อนครั้งแรกเท่านั้น) หรือลบแถวตัวอย่างในชีตทิ้งภายหลังได้
รันฟังก์ชัน resetAdminPin แล้วดูรหัสใหม่ในบันทึกการดำเนินการ
ความปลอดภัย
อนุญาตสิทธิ์ให้สคริปต์
สคริปต์ทำงานในบัญชีของคุณเอง Google จึงให้ยืนยันสิทธิ์ก่อนใช้งานครั้งแรก
- หน้าต่าง “ต้องมีการให้สิทธิ์” กด ตรวจสอบสิทธิ์ แล้วเลือกบัญชี Google ของคุณ
- ถ้าเจอ “Google ยังไม่ได้ยืนยันแอปนี้” กด ขั้นสูง › ไปที่ Jabphap EventPass (ไม่ปลอดภัย) — เป็นปกติของสคริปต์ที่เขียนใช้เอง
- ติ๊ก เลือกทั้งหมด แล้วกด ดำเนินการต่อ


สิทธิ์ที่ระบบขอ และเหตุผล
| สิทธิ์ | ใช้ทำอะไร |
|---|---|
| ดู แก้ไข สร้าง ลบ สเปรดชีต | อ่าน/บันทึกกิจกรรมและรายชื่อใน Google Sheets |
| ส่งอีเมลในนามของคุณ | ส่งบัตร QR และอีเมลยืนยันให้ผู้ลงทะเบียน |
| เชื่อมต่อบริการภายนอก | สร้างภาพ QR Code (quickchart.io) เพื่อแนบในอีเมล |
| ดูอีเมลหลักของบัญชี Google | ตรวจว่าผู้รันฟังก์ชันผู้ดูแล (ติดตั้ง / รีเซ็ตรหัสผ่าน) เป็นเจ้าของไฟล์ — กันไม่ให้ผู้เปิดเว็บแอปเรียกใช้ได้ |
เปิดให้ใช้งาน
เผยแพร่เป็นเว็บแอป
- มุมขวาบน กด ทำให้ใช้งานได้›การทำให้ใช้งานได้รายการใหม่
- กดรูปเฟือง ⚙ ข้าง “เลือกประเภท” แล้วเลือก เว็บแอป
- ตั้งค่า เรียกใช้ในฐานะ: ฉัน และ ผู้ที่มีสิทธิ์เข้าถึง: ทุกคน — เพื่อให้ผู้เข้าร่วมลงทะเบียนได้โดยไม่ต้องล็อกอิน (หน้าผู้จัดงานยังต้องใช้รหัส PIN)
- กด ทำให้ใช้งานได้ แล้วคัดลอก URL ของเว็บแอป (ลงท้ายด้วย
/exec)




ถ้าเลือก “ทุกคนที่มีบัญชี Google” ผู้ลงทะเบียนต้องล็อกอิน Google ก่อน ทำให้หลายคนเข้าไม่ได้
พร้อมใช้งาน
เปิดหน้าลงทะเบียน และเข้าหน้าผู้จัดงาน
- เปิด URL /exec ที่คัดลอกไว้ จะเห็น หน้ารายการกิจกรรม สำหรับผู้เข้าร่วม (ส่งลิงก์นี้ให้ผู้เข้าร่วมได้เลย)
- เข้าหน้าผู้จัดงาน: เติม
?page=adminท้าย URL หรือกดลิงก์ สำหรับผู้จัดงาน ท้ายหน้า - ใส่ รหัสผู้ดูแล จากขั้นตอนที่ 3 แล้วไปที่ ตั้งค่า ใส่ชื่อหน่วยงาน เบอร์ติดต่อ และเปลี่ยนรหัสใหม่
- บนมือถือ: เปิด URL ใน Chrome/Safari แล้วเลือก เพิ่มไปยังหน้าจอหลัก เพื่อใช้เป็นแอปสแกนเช็คอิน


?page=admin)ก่อนเริ่มใช้จริง
เช็กลิสต์ก่อนเปิดใช้งาน
ติ๊กไว้ได้ ระบบจะจำในเบราว์เซอร์นี้
ดูแลระบบ
อัปเดตเป็นเวอร์ชันใหม่
- วางทับไฟล์ Code.gs และ Index ด้วยไฟล์เวอร์ชันใหม่ แล้วบันทึก
- รัน setup อีกครั้ง — ระบบจะเพิ่มคอลัมน์/ชีตที่ขาด โดยไม่ลบข้อมูลเดิม และไม่เปลี่ยนรหัสผู้ดูแล
- ไปที่ ทำให้ใช้งานได้›จัดการการทำให้ใช้งานได้ กดดินสอ ✏ เลือก เวอร์ชัน: เวอร์ชันใหม่ แล้วกด ทำให้ใช้งานได้ — URL เดิมใช้ต่อได้
ทำสำเนาไฟล์ชีตได้ทุกเมื่อที่ ไฟล์›ทำสำเนา หรือดาวน์โหลดเป็น Excel
อ้างอิง
โครงสร้างชีตในฐานข้อมูล
| ชีต | เก็บข้อมูล |
|---|---|
Events | กิจกรรม: ชื่อ รายละเอียด วิทยากร สถานที่ วันเวลา จำนวนที่นั่ง สถานะ |
Registrations | ผู้ลงทะเบียน: รหัสบัตร ชื่อ อีเมล โทรศัพท์ หน่วยงาน สถานะ เวลาเช็คอิน สถานะอีเมล |
Settings | การตั้งค่า (แก้ในหน้าเว็บ เมนู ตั้งค่า) |
Logs | บันทึกเหตุการณ์ เช่น ลงทะเบียน เช็คอิน ยกเลิก |
แก้ไขข้อมูลในแถวได้ตามปกติ แต่ชื่อชีตและหัวคอลัมน์ระบบใช้อ้างอิง (สลับลำดับคอลัมน์ได้ เพิ่มคอลัมน์ของตัวเองต่อท้ายได้)