13 ม.ค. 2021 เวลา 11:02 • ไอที & แก็ดเจ็ต
ชีวิตง่ายขึ้นด้วย Google Apps Script
ผมเป็นคนหนึ่งที่ชีวิตการทำงานจะต้องมีตารางเวลางานหรือที่เรียกกันง่าย ๆ เช่น ตารางเข้าเวร ตารางเข้ากะ ตารางขึ้นเวร ใครจะเรียกแบบไหนเราคือพวกเดียวกันครับ แต่ของผมเองนั้นจะแตกต่างไม่เหมือนใครตรงที่ วันหยุด วันทำงานในแต่ละเดือนจะไม่ซ้ำกันเลย เรียกได้ว่า จะหยุดงานไปไหน ต้องวางแผนกันล่วงหน้าเป็นเดือน
ทุกครั้งที่ตารางเวรออกมา ผมต้องมาคอยถ่ายรูปตารางเวรไว้ดูกันลืม หรือถ้าขยัน(ถึก) ก็เพิ่มตารางเวรไว้ที่ Google Calendar โดยลงทีละรายการจนครบ เพื่อไว้ให้คอยแจ้งเตือน หรือดูตารางเวรผ่านโทรศัพท์ และคอมพิวเตอร์โน๊ตบุ๊ค เพื่อกันลืม!!! (เคยลืมมาแล้วครับ ฮาๆๆ)
I am not lazy i am on energy saving mode.
จนวันหนึ่งก็ทนถึกไม่ไหว จึงเริ่มค้นหาใน Google ว่าทำอย่างไร? จึงจะเพิ่มตารางเวร เข้าไปใน Google Calendar โดยกดปุ่มทีเดียว และสามารถเพิ่มนัดหมายอื่น ๆ ทีหลังได้ พร้อมทั้งอัพเดทรายการทั้งหมดบนมือถือ คอมพิวเตอร์โน๊ตบุ๊ค ให้ทั้งหมดทีเดียวจบ จนได้เจอแนวทางคำตอบจากคลิปนี้ครับ
ซึ่ง Google อธิบายแนวทางให้เข้าใจได้ง่ายมาก ๆ
หลังจากได้เรียนรู้ทำให้ต้องเข้าใจการเขียน Google Apps Script ซึ่งใครที่เข้าใจภาษา JavaScript ก็ไม่ยากเลย แต่สำหรับมือใหม่เช่นเดียวกับผมก็ไม่(น่า)ยากเช่นครับ ก็มาลองทำของตัวเองไว้ใช้งานบ้าง เริ่มจากสร้างไฟล์ใน Google Sheet และลงตารางเวรไว้ตามรูปแบบนี้เลยครับ
ง่าย ๆ เลยก็เริ่มสร้างข้อมูลตามที่ต้องสำหรับผมใช้เท่านี้ก็เพียงพอแล้ว จะสลับตำแหน่งตามสะดวกก็ได้ครับ(สลับแล้วแก้โค้ดให้เรียกข้อมูลให้ถูกด้วยครับ) แต่รูปแบบวันที่ และเวลา ก็ให้ตรงกับรูปแบบที่กำหนดครับ
แล้วมาต่อที่การเขียน Google Apps Script เพื่อให้ข้อมูลทั้งหมดในตาราง ไปแสดงอยู่ที่ Google Calendar โดยอัตโนมัติครับ (ชีวิตดี๊ดี) ใน Google Apps Script ก็จะเขียนฟังก์ชันไว้ประมาณว่า ถ้าเพิ่มหรือลบข้อมูลที่ Google Calendar ก็จะอัพเดทมาที่ Google Sheet โดยอัตโนมัติด้วยเหมือนกัน และกรณีที่ข้อมูลผ่านเลยวันที่กำหนดไว้ก็จะไม่เอามาที่ Google Sheet แล้วแต่ยังคงไว้ที่ Google Calendar อยู่ ดังนั้นใน Google Sheet ก็จะเป็นข้อมูลใหม่ทั้งหมด เรียกได้ว่าไม่สนใจอดีต มุ่งสู่อนาคตอย่างเดียวครับ
ในส่วนของโค้ดที่จะเขียนใน Google Apps Script ก็ตามตัวอย่างที่ทำไว้ได้ครับ copy code ไปวาง และอย่าลืมเปลี่ยนข้อมูล Your Calendar ID เป็นของตัวเองครับ โดยมี 3 Function หลักตามนี้เลย
1. ฟังก์ชั่น getEvents()
เอาไว้ให้ดึงข้อมูลจาก Google Calendar ทั้งหมดมาที่ Google Sheet โดยกำหนดวันที่ต้องการได้ครับ แต่ของผมจะกำหนดเป็นวันที่ล่าสุดจนถึงสิ้นปีไปเลย และหากมีการ เพิ่ม/ลบ ข้อมูลที่ Google Calendar ผมก็ตั้งค่า Trigger ให้ฟังก์ชันนี้ทำงาน จะได้ไม่ต้องมาคอยเปิด และรันฟังก์ชันทุก ๆ ครั้ง (ชีวิตง่ายไปอีก)
ไปที่เมนู Edit –> Current project’s triggers แล้วตั้งค่าการทำงานของฟังก์ชั่น getEvents() ได้ตามนี้เลยครับ
ฟังก์ชั่น getEvents() ลองดูผลลัพธ์ที่ได้ครับ
2. ฟังก์ชั่น addEvents()
เอาไว้เพิ่มข้อมูลจาก Google Sheet ทั้งหมดมาที่ Google Calendar โดยผมต้องการให้ลบข้อมูลเดิมทั้งหมดออกก่อน แล้วค่อยทำการเพิ่มข้อมูล หากเหตุการณ์ที่จะอัพเดทมีไม่เยอะแนะนำเพิ่มโดยตรงที่ Google Calendar ได้เลยครับ เพราะฟังก์ชัน getEvents() จะดึงข้อมูลมาเพิ่มลงใน Google Sheet ให้แบบอัตโนมัติเลยครับ
ฟังก์ชั่น addEvents() ลองดูผลลัพธ์ที่ได้ครับ
3. ฟังก์ชั่น onOpen()
จากตัวอย่างผมได้กำหนดให้มีเมนูสำหรับสั่งให้ฟังก์ชัน getEvents() และ addEvents() ทำงาน โดยให้มีเมนูนี้ทุกครั้งที่เปิดไฟล์ Google Sheet ที่เป็นข้อมูลตารางเวร และเวลาที่จะอัพข้อมูลไปที่ Google Calendar หรือดึงข้อมูลมาเก็บไว้ที่ Google Sheet จะได้กดเลือกเมนูให้ฟังก์ชันทำงานทีเดียวได้เลย นั่งรอไม่เกินนาทีก็จบ (สบายๆ ไปอีก)
4. Code แบบเต็มๆ
สุดท้าย ผมก็ได้ฟังก์ชันการทำงานตามความต้องการแล้ว มีเวลาขี้เกียจเพิ่มขึ้นอีกเยอะเลยครับ ลองนำไปปรับใช้ในงานอื่น ๆ ที่ต้องกำหนดวันเวลาการทำงานที่ชัดเจนได้ครับ และต้องขอบคุณทุกท่านที่อ่านจนจบนะครับ หากคุณต้องการมีเวลาขี้เกียจเพิ่มมากขึ้นอีก เราคือพวกเดียวกันครับ ฮาๆๆ
ติดตาม a·ดัม - บล็อก - ในช่องทางอื่นๆ ได้ที่
โฆษณา