📑 สารบัญ
ติดตั้งบนบัญชี Google ของโรงเรียน
ทำครั้งเดียวบนคอมพิวเตอร์ ประมาณ 10 นาที ไม่ต้องเขียนโค้ด
เริ่มต้น
สร้างไฟล์ Google Sheets ใหม่
ไฟล์นี้จะเป็น “ฐานข้อมูล” ของระบบ เก็บห้องเรียน นักเรียนและ PIN งานที่มอบหมาย การส่งงาน รายการไฟล์ใน Google Drive คะแนนและคอมเมนต์ทั้งหมด
- เข้า sheets.new ด้วยบัญชี Gmail ที่จะใช้ดูแลระบบ (แนะนำบัญชีของโรงเรียน/ฝ่ายงาน ไม่ใช่บัญชีส่วนตัว)
- คลิกชื่อไฟล์ “สเปรดชีตที่ไม่มีชื่อ” มุมซ้ายบน แล้วตั้งชื่อ เช่น Jabphap Homework
setup ในขั้นที่ 3 จะสร้างให้ครบทุกชีตใส่ระบบ
วางไฟล์ในโปรแกรมแก้ไข Apps Script
ชุดไฟล์ที่ได้รับมี 3 ไฟล์ที่ต้องวาง: Code.gs · Index.html · appsscript.json
- ในไฟล์ชีต ไปที่เมนู ส่วนขยาย›Apps Script จะเปิดแท็บใหม่
- คลิกชื่อโปรเจกต์ “โปรเจกต์ที่ไม่มีชื่อ” มุมซ้ายบน เปลี่ยนเป็น Jabphap Homework (ชื่อนี้จะแสดงในหน้าขออนุญาตสิทธิ์)
- เปิดไฟล์ Code.gs ที่มีอยู่ กด Ctrl + A ลบโค้ดเดิม แล้ววางเนื้อหาไฟล์ Code.gs ที่ได้รับทั้งไฟล์
- กดปุ่ม + ข้างคำว่า “ไฟล์” › HTML ตั้งชื่อว่า
Index(ไม่ต้องพิมพ์ .html) ลบเนื้อหาเดิม แล้ววางไฟล์ Index.html ทั้งไฟล์ - ไปที่ ⚙ การตั้งค่าโปรเจกต์ ติ๊ก “แสดงไฟล์ Manifest ‘appsscript.json’ ในเครื่องมือแก้ไข” กลับมาที่หน้าแก้ไข เปิดไฟล์ appsscript.json ลบของเดิม แล้ววางไฟล์ appsscript.json ที่ได้รับ
- กด Ctrl + S บันทึกทุกไฟล์
ระบบเรียกไฟล์ด้วยชื่อ Index (ตัวพิมพ์ใหญ่-เล็กมีผล) ถ้าตั้งชื่อผิดหน้าเว็บจะขึ้นข้อความว่าไม่พบไฟล์
สร้างฐานข้อมูล
รันฟังก์ชัน setup
- ที่แถบเครื่องมือด้านบนของหน้าแก้ไข เลือกฟังก์ชัน setup ในช่องรายการฟังก์ชัน
- กดปุ่ม ▷ เรียกใช้ — ครั้งแรก Google จะขออนุญาตสิทธิ์ (ทำตามขั้นที่ 4) แล้วรันต่อจนเสร็จ
- เมื่อบันทึกการดำเนินการขึ้น “การดำเนินการเสร็จสมบูรณ์” กลับไปดูไฟล์ชีต จะมีชีตใหม่ 8 ชีต
setup สร้างโรงเรียนตัวอย่าง “โรงเรียนสายน้ำทิพย์วิทยา” 3 ห้อง (ม.2/1–ม.2/3) นักเรียน 37 คน งาน 5 ชิ้น 4 วิชา พร้อมงานที่นักเรียนส่งแล้ว (สร้างไฟล์ตัวอย่างขนาดเล็กลงใน Google Drive จริง) งานที่ตรวจแล้วพร้อมคอมเมนต์ และครูตัวอย่าง 3 คน (kru.napa / 1111, kru.anan / 2222, kru.kanya / 3333) · นักเรียนตัวอย่าง รหัส 20501 / PIN 2468 เมื่อพร้อมใช้งานจริง ล้างข้อมูลตัวอย่างได้จากหน้า ตั้งค่า ในระบบ หรือถ้าไม่ต้องการข้อมูลตัวอย่างตั้งแต่แรก ให้เลือกฟังก์ชัน setupWithoutSample แทน
ครั้งแรกครั้งเดียว
อนุญาตสิทธิ์ให้สคริปต์
สคริปต์ทำงานในบัญชี Google ของคุณเอง Google จึงให้ยืนยันสิทธิ์ก่อน — ระบบขอสิทธิ์ อ่าน/เขียน Google Sheets (เก็บข้อมูล) และ Google Drive (สร้างโฟลเดอร์และบันทึกไฟล์งานที่นักเรียนอัปโหลด) และ ดูอีเมลหลักของบัญชี (ตรวจว่าผู้รัน setup / resetAdminPin เป็นเจ้าของไฟล์) — ไฟล์ทั้งหมดอยู่ใน Drive ของบัญชีที่ติดตั้ง ระบบไม่แตะไฟล์อื่นใน Drive ของคุณ


เปิดเป็นเว็บ
เผยแพร่เป็นเว็บแอป
- มุมขวาบนของหน้าแก้ไข กด การทำให้ใช้งานได้›การทำให้ใช้งานได้รายการใหม่

- กดรูปเฟือง ⚙ ข้าง “เลือกประเภท” แล้วเลือก เว็บแอป

- ช่อง ดำเนินการในฐานะ เลือก ฉัน · ช่อง ผู้มีสิทธิ์เข้าถึง เลือก ทุกคน แล้วกด การทำให้ใช้งานได้

- คัดลอก URL ของเว็บแอป (ลงท้ายด้วย
/exec) เก็บไว้ แล้วกด เสร็จสิ้น

พร้อมใช้งาน
เปิดใช้งานครั้งแรก
- เปิด URL เว็บแอป จะพบหน้าเข้าสู่ระบบ มีแท็บ นักเรียน และ ครู (ลิงก์สำหรับครูโดยตรง:
<URL>?t=teacher) - แท็บครู เข้าสู่ระบบด้วย admin / PIN 1234 แล้วไปที่ ตั้งค่า แก้ชื่อโรงเรียนและภาคเรียน และเปลี่ยน PIN ทันที
- เพิ่มห้องเรียนและนักเรียน (นำเข้าจาก Excel ได้) แล้วพิมพ์ บัตรเข้าระบบนักเรียน แจกนักเรียน
- ส่งลิงก์เว็บแอปให้นักเรียนในกลุ่ม LINE ของห้อง

ควรรู้
ไฟล์งานถูกเก็บใน Google Drive อย่างไร
เมื่อมีการส่งงานครั้งแรก ระบบสร้างโฟลเดอร์หลัก “<ชื่อโรงเรียน> — งานส่งนักเรียน” ใน Drive ของบัญชีผู้ติดตั้ง แล้วแยกโฟลเดอร์ย่อย ชื่องาน›ห้อง ไฟล์ตั้งชื่อเป็น รหัส_ชื่อ_ชื่อไฟล์เดิม ทำให้ค้นหาและดาวน์โหลดทั้งห้องได้ง่าย
เปิดดูได้เฉพาะบัญชีผู้ติดตั้ง นักเรียนเห็นแค่ชื่อไฟล์ของตัวเอง ถ้าต้องการให้นักเรียนเปิดไฟล์ของตัวเองได้ หรือให้ครูท่านอื่นเปิดดู เลือก “ทุกคนที่มีลิงก์ดูได้” ในหน้าตั้งค่า (Google Workspace ของบางโรงเรียนอาจปิดการแชร์ภายนอก)
ไฟล์ถูกส่งผ่านเว็บแอปแบบเข้ารหัส base64 จึงจำกัดไม่เกิน 20 MB ต่อไฟล์ (ตั้งได้ต่องาน ค่าเริ่มต้น 10 MB) วิดีโอยาวแนะนำให้นักเรียนอัปโหลดขึ้น YouTube/Drive เองแล้วแนบลิงก์ในช่องคำตอบ · พื้นที่ที่ใช้นับรวมกับโควตา Drive ของบัญชีผู้ติดตั้ง
สำหรับผู้ดูแล
โครงสร้างชีตในฐานข้อมูล
ชีตทั้งหมดที่ setup สร้าง แถวแรกเป็นหัวคอลัมน์ — ห้ามเปลี่ยนชื่อชีตหรือชื่อหัวคอลัมน์ แต่แก้ไขข้อมูลในแถวได้ตามปกติ
| ชีต | เก็บอะไร |
|---|---|
Settings | ชื่อโรงเรียน ภาคเรียน สิทธิ์การแชร์ไฟล์ ค่าเริ่มต้นชนิด/ขนาดไฟล์ คอมเมนต์ด่วน และรหัสโฟลเดอร์หลักใน Drive |
Users | บัญชีครู/ผู้ดูแล (PIN เข้ารหัส) |
Classes | ห้องเรียน ระดับชั้น ครูประจำชั้น |
Students | นักเรียน เลขที่ รหัส ชื่อ PIN เข้าระบบ เวลาเข้าระบบล่าสุด |
Assignments | งานที่มอบหมาย วิชา ห้อง คำชี้แจง ลิงก์เอกสาร วันเริ่ม/กำหนดส่ง คะแนนเต็ม การรับส่งช้าและหักคะแนน ชนิด/ขนาด/จำนวนไฟล์ |
Folders | รหัสโฟลเดอร์ Drive ของแต่ละงาน × ห้อง |
Submissions | การส่งงาน 1 แถว = นักเรียน 1 คน ต่อ 1 งาน สถานะ ครั้งที่ส่ง ส่งช้า คำตอบข้อความ คะแนน คะแนนหลังหัก คอมเมนต์ |
Files | ไฟล์ทุกไฟล์ที่อัปโหลด ชื่อเดิม ชื่อใน Drive ขนาด ลิงก์ และสถานะ (รอส่ง/ส่งแล้ว/ลบ) |
เมื่อมีเวอร์ชันใหม่
อัปเดตเวอร์ชันใหม่โดยไม่เสียข้อมูล
- วางไฟล์เวอร์ชันใหม่ทับไฟล์เดิมใน Apps Script (Code.gs / ไฟล์ HTML) แล้วบันทึก
- รันฟังก์ชัน setup อีกครั้ง — ระบบจะเพิ่มชีต/คอลัมน์ใหม่ที่ขาด โดยไม่ลบข้อมูลเดิม และไม่สร้างข้อมูลตัวอย่างซ้ำ
- ไปที่ การทำให้ใช้งานได้›จัดการการทำให้ใช้งานได้ กดรูปดินสอ ✎ เลือกเวอร์ชัน เวอร์ชันใหม่ แล้วกด การทำให้ใช้งานได้ — URL เดิมใช้ต่อได้
ติดตรงไหน
คำถามที่พบบ่อย (การติดตั้ง)
เปิดลิงก์แล้วขึ้น “ระบบยังไม่ได้ติดตั้ง”
ยังไม่ได้รันฟังก์ชัน setup หรือรันไม่สำเร็จ กลับไปหน้า Apps Script เลือก setup แล้วกด เรียกใช้ อีกครั้ง
ทำไมต้องให้สิทธิ์ Google Drive ทั้งหมด
Apps Script ต้องใช้สิทธิ์ Drive เพื่อสร้างโฟลเดอร์และบันทึกไฟล์ที่นักเรียนอัปโหลด ระบบทำงานเฉพาะในโฟลเดอร์ “งานส่งนักเรียน” ที่สร้างขึ้นเอง
นักเรียนอัปโหลดไม่ผ่าน
ตรวจว่าไฟล์เป็นชนิดที่งานนั้นอนุญาต ขนาดไม่เกินที่กำหนด และยังไม่เลยกำหนดส่ง (ถ้างานไม่รับส่งช้า) ข้อความแจ้งเตือนบนหน้าจอจะบอกสาเหตุ
แก้ไฟล์แล้วหน้าเว็บไม่เปลี่ยน
ต้องทำ จัดการการทำให้ใช้งานได้ › แก้ไข › เวอร์ชันใหม่ ทุกครั้งหลังวางไฟล์ใหม่
ลืม PIN ของ admin
เปิดหน้า Apps Script เลือกฟังก์ชัน resetAdminPin แล้วกด เรียกใช้ ผู้ใช้ admin จะกลับเป็น PIN 1234 · นักเรียนที่ลืม PIN ให้ครูรีเซ็ตในเมนูนักเรียน
ลิขสิทธิ์
ลิขสิทธิ์และสิทธิ์การใช้งาน
Jabphap Homework เป็นลิขสิทธิ์ของ jabphap.com ผู้ซื้อได้รับสิทธิ์ใช้งานสำหรับโรงเรียน/สถาบันตามที่ระบุในการสั่งซื้อเท่านั้น ห้ามจำหน่าย แจกจ่าย หรือดัดแปลงเพื่อเผยแพร่ต่อ รายละเอียดอยู่ในไฟล์ LICENSE.txt
ข้อมูลทั้งหมดของโรงเรียนเก็บอยู่ใน Google Sheets และ Google Drive ของบัญชีที่ติดตั้งเอง ทางผู้พัฒนาไม่สามารถเข้าถึงข้อมูลของท่านได้