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

ติดตั้ง Due Reminder

แจ้งเตือนวันครบกำหนด ต่อภาษีรถ พ.ร.บ. ประกัน บิล สัญญา — ทำงานบน Google Sheets + Apps Script ในบัญชี Google ของคุณเอง ข้อมูลทั้งหมดอยู่ใน Drive ของคุณ อีเมลและปฏิทินส่งจากบัญชีของคุณ ไม่มีค่าเซิร์ฟเวอร์

👤 บัญชี GoogleGmail ส่วนตัวหรือของหน่วยงาน
💻 คอมพิวเตอร์ใช้ตอนติดตั้งครั้งแรกเท่านั้น
📄 ไฟล์ 3 ไฟล์Code.gs · Index.html · appsscript.json
📱 ใช้งานจริงมือถือ แท็บเล็ต หรือคอมก็ได้
หน้าจอ Due Reminder
1

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

  1. เปิด sheets.new (หรือ Google Drive › ใหม่ › Google ชีต) ด้วยบัญชีที่ต้องการเก็บข้อมูลและรับอีเมลเตือน
  2. ตั้งชื่อไฟล์ที่มุมซ้ายบน เช่น Due Reminder — ต่ออายุ & บิล

เคล็ดลับ: ไฟล์นี้คือ "ฐานข้อมูล" ของระบบ ห้ามลบ ย้ายไปโฟลเดอร์อื่นใน Drive ได้ตามสบาย

2

เปิด Apps Script จากไฟล์ชีต

  1. ในไฟล์ชีต กดเมนู ส่วนขยาย › Apps Script (ภาษาอังกฤษ: Extensions › Apps Script)
  2. แท็บใหม่จะเปิดหน้าแก้ไขโค้ด ซึ่งมีไฟล์ Code.gs ว่าง ๆ อยู่ 1 ไฟล์
  3. ตั้งชื่อโปรเจกต์ที่มุมซ้ายบน (เช่น Due Reminder) — ชื่อนี้จะแสดงในหน้าขอสิทธิ์

สำคัญ: ต้องเปิด Apps Script จากเมนูของไฟล์ชีต เท่านั้น (ไม่ใช่สร้างจาก script.google.com) เพื่อให้โค้ดผูกกับไฟล์นี้

3

วางไฟล์ทั้ง 3 ไฟล์

ในโฟลเดอร์ที่ดาวน์โหลด มีไฟล์ที่ต้องใช้ดังนี้

📄 Code.gs ← โค้ดฝั่งเซิร์ฟเวอร์ (วางแทนของเดิมทั้งหมด)
📄 Index.html ← หน้าเว็บของระบบ (สร้างไฟล์ HTML ชื่อ Index)
📄 appsscript.json ← การตั้งค่าโปรเจกต์ (เขตเวลา สิทธิ์ เว็บแอป)

3.1 วาง Code.gs

  1. เปิดไฟล์ Code.gs จากโฟลเดอร์ด้วย Notepad / VS Code แล้วกด Ctrl+A › Ctrl+C
  2. กลับมาที่ Apps Script คลิกไฟล์ Code.gs กด Ctrl+A แล้ว Ctrl+V วางทับโค้ดเดิมทั้งหมด

3.2 สร้างไฟล์ Index.html

  1. กดปุ่ม + ข้างคำว่า "ไฟล์" › เลือก HTML
  2. พิมพ์ชื่อ Index (ตัว I ใหญ่ ไม่ต้องพิมพ์ .html) แล้วกด Enter
  3. ลบโค้ดตัวอย่างในไฟล์ใหม่ทิ้ง แล้ววางเนื้อหาทั้งหมดจากไฟล์ Index.html

3.3 วาง appsscript.json

  1. กดไอคอนเฟือง การตั้งค่าโปรเจกต์ (Project Settings) ทางซ้าย
  2. ติ๊ก แสดงไฟล์ Manifest "appsscript.json" ในเครื่องมือแก้ไข
  3. กลับไปที่ เครื่องมือแก้ไข (ไอคอน <>) จะเห็นไฟล์ appsscript.json เปิดแล้ววางเนื้อหาจากไฟล์ในโฟลเดอร์ทับทั้งหมด
  4. กด Ctrl+S หรือไอคอนแผ่นดิสก์เพื่อบันทึก

ตรวจสอบ: ด้านซ้ายต้องมี 3 ไฟล์ appsscript.json · Code.gs · Index.html ถ้าชื่อไฟล์ HTML ไม่ใช่ Index ตรงตัว หน้าเว็บจะเปิดไม่ขึ้น · ไฟล์ appsscript.json กำหนดเขตเวลาเป็น Asia/Bangkok เพื่อให้นับวันครบกำหนดตามเวลาไทย

4

รันฟังก์ชัน setup และอนุญาตสิทธิ์

  1. ที่แถบเครื่องมือด้านบน เลือกฟังก์ชัน setup จากรายการ แล้วกด ▶ เรียกใช้ (Run)
  2. ครั้งแรก Google จะขอสิทธิ์ กด ตรวจสอบสิทธิ์ (Review permissions)
หน้าต่าง จำเป็นต้องให้สิทธิ์ — กด ตรวจสอบสิทธิ์
หน้าต่าง "จำเป็นต้องให้สิทธิ์" — กด ตรวจสอบสิทธิ์
  1. เลือกบัญชี Google ของคุณ (บัญชีเดียวกับเจ้าของไฟล์ชีต)
  2. จะพบหน้า "Google ยังไม่ได้ยืนยันแอปนี้" — เป็นเรื่องปกติของสคริปต์ที่คุณติดตั้งเอง กด ขั้นสูง แล้วกดลิงก์ ไปที่ Due Reminder (ไม่ปลอดภัย) ด้านล่าง
กด ขั้นสูง (มุมซ้ายล่าง) แล้วกด ไปที่ … (ไม่ปลอดภัย)
กด "ขั้นสูง" (มุมซ้ายล่าง) แล้วกด "ไปที่ … (ไม่ปลอดภัย)"
  1. หน้าถัดไปแสดงรายการสิทธิ์ 5 ข้อ ติ๊ก เลือกทั้งหมด แล้วกด ดำเนินการต่อ / อนุญาต
    สิทธิ์ที่เห็นในหน้าขออนุญาตใช้ทำอะไร
    ดู แก้ไข สร้าง และลบสเปรดชีต Google ชีตอ่าน/เขียนรายการในไฟล์ชีตนี้
    ส่งอีเมลในนามของคุณส่งอีเมลสรุปรายการใกล้ครบกำหนด
    อนุญาตให้แอปพลิเคชันนี้ทำงานเมื่อคุณไม่ได้อยู่ทริกเกอร์รายวันที่ตรวจรายการให้ทุกเช้า
    ดู แก้ไข แชร์ และลบปฏิทินทั้งหมดเพิ่ม/ย้าย/ลบนัดหมายวันครบกำหนด (ใช้เมื่อเปิดตัวเลือกปฏิทินเท่านั้น)
    ดูอีเมลหลักของบัญชี Googleตั้งอีเมลรับแจ้งเตือนเริ่มต้น
  2. รอจนบันทึกการดำเนินการขึ้นว่า การดำเนินการเสร็จสมบูรณ์ — ระบบสร้างชีต รายการ ประวัติการต่อ บันทึกอีเมล พร้อมข้อมูลตัวอย่าง (ทะเบียนรถและเลขกรมธรรม์สมมติ) และตั้งอีเมลรับแจ้งเตือนเป็นบัญชีที่ติดตั้ง

ปลอดภัยไหม? โค้ดทั้งหมดอยู่ในโปรเจกต์ของคุณ เปิดอ่านได้ทุกบรรทัด และทำงานด้วยบัญชีของคุณเอง ไม่มีการส่งข้อมูลไปเซิร์ฟเวอร์อื่น สิทธิ์ปฏิทินจำเป็นต้องขอตอนติดตั้ง แต่ระบบจะไม่แตะปฏิทินจนกว่าคุณจะเปิดตัวเลือก Google Calendar และแก้ไขเฉพาะนัดหมายที่ระบบสร้างเอง

5

จด PIN ผู้ดูแล

ใน บันทึกการดำเนินการ (Execution log) ด้านล่างของหน้าจอ จะมีข้อความคล้ายนี้

ติดตั้ง แจ้งเตือนวันครบกำหนด เรียบร้อย ✔ อีเมลแจ้งเตือนจะส่งถึง: [email protected]
PIN ผู้ดูแลของคุณคือ: 482913 ← ตัวเลขของคุณจะต่างจากนี้
ขั้นต่อไป: ทำให้ใช้งานได้ › การทำให้ใช้งานได้รายการใหม่ › เว็บแอป …

จด PIN 6 หลักนี้ไว้ ใช้เข้าระบบครั้งแรก แล้วเปลี่ยนเป็น PIN ที่จำง่ายได้ที่หน้า ตั้งค่า

ไม่เห็น PIN? ถ้ารัน setup ซ้ำ ระบบจะไม่สร้าง PIN ใหม่ ให้เลือกฟังก์ชัน resetAdminPin แล้วกดเรียกใช้ PIN ใหม่จะขึ้นในบันทึกการดำเนินการ

6

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

  1. กดปุ่มสีน้ำเงิน การทำให้ใช้งานได้ (Deploy) มุมขวาบน › การทำให้ใช้งานได้รายการใหม่
เมนู การทำให้ใช้งานได้ › การทำให้ใช้งานได้รายการใหม่
เมนู การทำให้ใช้งานได้ › การทำให้ใช้งานได้รายการใหม่
  1. กดไอคอนเฟืองข้าง "เลือกประเภท" แล้วเลือก เว็บแอป
เลือกประเภท เว็บแอป
เลือกประเภท "เว็บแอป"
  1. ตั้งค่า: ดำเนินการในฐานะ = ฉัน และ ผู้มีสิทธิ์เข้าถึง = ทุกคน แล้วกด การทำให้ใช้งานได้
ดำเนินการในฐานะ: ฉัน · ผู้มีสิทธิ์เข้าถึง: ทุกคน
ดำเนินการในฐานะ: ฉัน · ผู้มีสิทธิ์เข้าถึง: ทุกคน

ทำไมเลือก "ทุกคน": เพื่อให้เปิดบนมือถือได้ทันทีโดยไม่ติดปัญหาบัญชี Google หลายบัญชี ระบบล็อกด้วย PIN อยู่แล้ว คนอื่นที่ได้ลิงก์ไปก็เข้าไม่ได้ (ถ้าต้องการเข้มงวดขึ้น เลือก "เฉพาะฉัน" ได้ แต่ต้องล็อกอิน Google บัญชีนี้ทุกครั้ง)

  1. คัดลอก URL ของเว็บแอป (ลงท้ายด้วย /exec) แล้วกด เสร็จสิ้น — ลิงก์นี้จะถูกใส่ในปุ่ม "เปิดระบบ" ของอีเมลแจ้งเตือนด้วย
คัดลอก URL ของเว็บแอป — นี่คือลิงก์ของระบบคุณ
คัดลอก URL ของเว็บแอป — นี่คือลิงก์ของระบบคุณ
7

เปิดใช้งานครั้งแรก

  1. วาง URL ในเบราว์เซอร์ (คอมหรือมือถือ) จะพบหน้าใส่ PIN
  2. ใส่ PIN จากขั้นตอนที่ 5 — ระบบจำการเข้าสู่ระบบในเครื่องนั้นไว้ 30 วัน
  3. ลองดูข้อมูลตัวอย่างที่หน้า ภาพรวม และกด ต่อแล้ว สักรายการเพื่อดูการทำงาน
  4. บนมือถือ: กดเมนูเบราว์เซอร์ › เพิ่มไปยังหน้าจอหลัก เพื่อเปิดได้เหมือนแอป
หน้าใส่ PIN
หน้าใส่ PIN
ใช้บนมือถือได้เต็มรูปแบบ
ใช้บนมือถือได้เต็มรูปแบบ

เริ่มใช้จริง: เมื่อลองเล่นพอแล้ว ไปที่หน้า ตั้งค่า › ล้างข้อมูลทั้งหมด แล้วเพิ่มรายการของคุณเอง

8

เปิดการแจ้งเตือนอัตโนมัติ (ทริกเกอร์)

การส่งอีเมลเตือนต้องมี ทริกเกอร์ตั้งเวลา ให้ Google รันสคริปต์ทุกวัน ขั้นตอนนี้ทำครั้งเดียว

  1. ในเว็บแอป ไปที่หน้า ตั้งค่า & แจ้งเตือน ตรวจ ส่งอีเมลถึง ระยะเตือน (ค่าเริ่มต้น 30 / 7 / 1 วัน + วันครบกำหนด) และ เวลาส่งอีเมลสรุป แล้วกด บันทึกการตั้งค่า
  2. กด เปิดการแจ้งเตือนอัตโนมัติ ป้ายมุมขวาจะเปลี่ยนเป็น ● เปิดอยู่
  3. กด ส่งอีเมลทดสอบ แล้วเปิดกล่องจดหมาย (ถ้าไม่เจอ ดูในสแปม/โปรโมชัน แล้วกด "ไม่ใช่สแปม")
  4. (ไม่บังคับ) เปิดสวิตช์ Google Calendar แล้วกด บันทึก & ซิงก์ปฏิทิน เพื่อเพิ่มวันครบกำหนดลงปฏิทินพร้อมแจ้งเตือนบนมือถือ
หน้าตั้งค่า — ปุ่มเปิด/ปิดการแจ้งเตือนอัตโนมัติ และตัวเลือก Google Calendar
หน้าตั้งค่า — ทริกเกอร์รายวัน (● เปิดอยู่) ประวัติการส่งอีเมล และตัวเลือก Google Calendar

อีกวิธี: ใน Apps Script เลือกฟังก์ชัน installTrigger › เรียกใช้ ได้ผลเหมือนกัน ตรวจได้ที่เมนูซ้าย ทริกเกอร์ (ไอคอนนาฬิกา) ต้องมี dailyReminder · ตามเวลา · ตัวจับเวลารายวัน 1 รายการ

อย่าสร้างทริกเกอร์ซ้ำเอง: ปุ่มในเว็บแอปลบของเก่าก่อนสร้างใหม่ทุกครั้ง แต่ถ้าเพิ่มด้วยมือในหน้าทริกเกอร์อาจเกิดซ้ำ (ระบบกันส่งซ้ำวันเดียวกันไว้แล้ว แต่ควรมีอันเดียว)

↻

อัปเดตเป็นเวอร์ชันใหม่ (ลิงก์เดิม)

  1. วางโค้ด Code.gs และ Index.html เวอร์ชันใหม่ทับของเดิม แล้วบันทึก (ข้อมูลในชีตไม่หาย ทริกเกอร์ยังทำงานต่อ)
  2. กด การทำให้ใช้งานได้ › จัดการการทำให้ใช้งานได้ › ไอคอนดินสอ ✏️
  3. ช่อง เวอร์ชัน เลือก เวอร์ชันใหม่ แล้วกด การทำให้ใช้งานได้

อย่ากด "การทำให้ใช้งานได้รายการใหม่" ซ้ำ เพราะจะได้ลิงก์ใหม่

?

ลืม PIN / แก้ปัญหาที่พบบ่อย

ลืม PIN ผู้ดูแล

เปิด Apps Script › เลือกฟังก์ชัน resetAdminPin › กด เรียกใช้ › PIN ใหม่จะขึ้นในบันทึกการดำเนินการ (ทุกอุปกรณ์ต้องเข้าสู่ระบบใหม่)

ไม่ได้รับอีเมลเตือน

ดูหน้า ตั้งค่า ว่าทริกเกอร์ "● เปิดอยู่" และดูประวัติการส่งอีเมล ระบบส่งเฉพาะวันที่มีรายการถึงระยะเตือน ถ้าใน Apps Script › การดำเนินการ มีข้อผิดพลาด "ต้องได้รับอนุญาต" ให้รัน setup อีกครั้งเพื่ออนุญาตสิทธิ์ใหม่

ขึ้น "ฟังก์ชันนี้ต้องรันจากหน้า Apps Script โดยเจ้าของไฟล์เท่านั้น"

setup, resetAdminPin และ installTrigger ต้องรันในหน้าแก้ไขโค้ดด้วยบัญชีเจ้าของไฟล์ (บัญชีที่ล็อกอินอยู่ต้องตรงกับเจ้าของ) เพื่อกันคนอื่นเรียกผ่านเว็บแอป

เพิ่มลงปฏิทินไม่สำเร็จ

ตรวจ "รหัสปฏิทิน" (เว้นว่างเพื่อใช้ปฏิทินหลัก) และต้องเป็นปฏิทินที่บัญชีนี้มีสิทธิ์แก้ไข ถ้าเพิ่งเพิ่มสิทธิ์ปฏิทินในเวอร์ชันใหม่ ให้รัน setup เพื่ออนุญาตสิทธิ์อีกครั้ง

เปิดลิงก์แล้วขึ้น "ไม่พบไฟล์ HTML ชื่อ Index"

ชื่อไฟล์ HTML ต้องเป็น Index ตรงตัวพิมพ์เล็ก-ใหญ่ เปลี่ยนชื่อแล้ว อัปเดตเวอร์ชัน

ขึ้น "ไม่พบชีต … กรุณารันฟังก์ชัน setup"

มีคนลบหรือเปลี่ยนชื่อชีต ให้รัน setup อีกครั้ง ระบบจะสร้างชีตที่หายไปให้ (ข้อมูลที่มีอยู่ไม่ถูกลบ)

แก้โค้ดแล้วหน้าเว็บไม่เปลี่ยน

ลิงก์ /exec ใช้เวอร์ชันที่ deploy ไว้ ต้อง อัปเดตเวอร์ชัน ทุกครั้งที่แก้โค้ด

เปิดบนมือถือแล้วขึ้นหน้าล็อกอิน Google หรือ "ไม่มีสิทธิ์"

ตรวจว่าตั้ง ผู้มีสิทธิ์เข้าถึง = ทุกคน (ดูขั้นตอนที่ 6) หากแก้ภายหลังต้องอัปเดตเวอร์ชัน

🔐

สิทธิ์ที่ระบบขอ และเหตุผล

สิทธิ์ (scope)ใช้ทำอะไร
ดูและแก้ไขไฟล์ Google Sheets
auth/spreadsheets
อ่าน/เขียนข้อมูลในไฟล์ชีตของระบบ (ไฟล์ที่คุณติดตั้งเท่านั้นที่โค้ดเปิดใช้)
ส่งอีเมลในนามของคุณ
auth/script.send_mail
ส่งอีเมลสรุปรายการใกล้ครบกำหนด (ส่งถึงอีเมลที่ตั้งไว้เท่านั้น)
จัดการทริกเกอร์ของสคริปต์
auth/script.scriptapp
สร้าง/ลบทริกเกอร์ตั้งเวลารายวัน และใส่ลิงก์เว็บแอปในอีเมล
Google Calendar
auth/calendar
เพิ่ม/ย้าย/ลบนัดหมายวันครบกำหนดที่ระบบสร้าง (เฉพาะเมื่อเปิดตัวเลือกปฏิทิน)
ดูอีเมลหลักของบัญชี
auth/userinfo.email
ใส่อีเมลของคุณเป็นค่าเริ่มต้น และยืนยันว่าฟังก์ชันติดตั้งถูกรันโดยเจ้าของไฟล์

ระบบไม่ขอสิทธิ์อ่าน Gmail, Drive ทั้งหมด หรือรายชื่อติดต่อ ลิงก์ไฟล์แนบเป็นเพียงข้อความที่คุณวางเอง (ระบบไม่เปิดอ่านไฟล์) และไม่มีการส่งข้อมูลออกไปภายนอกบัญชีของคุณ (ยกเว้นโหลดฟอนต์/ไอคอนจาก CDN สาธารณะ)

แจ้งเตือนวันครบกำหนด ต่อภาษีรถ พ.ร.บ. ประกัน บิล สัญญา (Due Reminder) v1.0.0 · แจกฟรีโดย GAS Hub · ใช้งานได้ฟรี ห้ามนำไปจำหน่ายต่อ