การส่งอีเมล์ด้วย Google Script

Ayuth Mangmesap
Aug 26, 2017 · 3 min read

ถ้าพูดถึง Google Form ทุกคนคงเคยได้สัมผัสหรือได้เห็นกันมาไม่น้อยเลยครับ เพราะไม่ว่าจะเป็นการ survey เพื่อรวบรวมข้อมูลหรือแม้กระทั่งตอบแบบสอบถามต่าง ๆ ก็ใช้ Google Form เกือบทั้งสิ้นเพราะมันฟรีและแถมยังมี Pie Chart สวย ๆ ให้ดูด้วยเช่น

แต่ประเด็นคือ เราสามารถใช้งานอะไรจากข้อมูลที่เรามีอยู่ได้บ้าง ? เช่นส่งอีเมล์ไปหาคนที่กรอกแบบฟอร์ม 10,000 คน ?… ถ้าเรามานั่งก๊อปปี้อีเมล์แล้วมาใส่ในรายชื่อผู้ส่งทีละ 1, 2, …, 10,000 ถามว่าตายไหม?

.

.

ตายแบบไม่ต้องคิดเลยครับ ฉะนั้นเราจึงมีตัวช่วยนั่นคือ Google Script นี่เอง และในบทความนี้จะว่าด้วยเรื่องการเขียน Google Script ในการส่งอีเมล์ครับ

Google Apps Script is a JavaScript cloud scripting language that provides easy ways to automate tasks across Google products and third party services and build web applications.

ขั้นตอนการสร้าง Google Forms

โจทย์: เราเป็นผู้ผลิตเสื้อและเปิดโอกาสให้ลูกค้าสั่งจองผ่านทาง Google Forms ซึ่งลูกค้าต้องกรอกชื่อจริงและอีเมล์เพื่อใช้ในการติดต่อกลับ และเราจะส่งอีเมล์ให้ลูกค้า 1 วันหลังจากการสั่งผลิตเสื้อจริง ๆ เพื่อยืนยันข้อมูลของลูกค้าว่าข้อมูลถูกต้อง และหากไม่ถูกต้องให้สามารถโทรศัพท์กลับหรืออีเมล์ติอต่อกลับได้

ตอนนี้ผมได้ลองสร้าง form สำหรับกรอกข้อมูลซื้อไซส์เสื้อและอีเมล์สำหรับตอบกลับ

สำหรับขั้นตอนไม่ขอลงลึกนะครับเพราะเชื่อว่าทุก ๆ คนคงทำได้อยู่แล้ว (มันง่ายมาก) หรือถ้าใครไม่ได้จริง ๆ ก็ลองเข้าลิงค์นี้แล้วลองลูบ ๆ คลำ ๆ ดูก็น่าจะทำได้ https://docs.google.com/forms/

ขั้นตอนการ Link Google Forms to Sheets

ขั้นตอนนี้เสมือนว่านำข้อมูลที่ลูกค้ากรอกมาทั้งหมดลงไปยัง Google Sheet หรือที่เรียกว่า Excel นี่แหละ ซึ่งเวลาต้องการใช้ข้อมูลหรือเปลี่ยนแปลงข้อมูลมันจะสะดวกมากกกกกกกกกกก ถึงมากที่สุด

ณ จุดนี้ตี๊ต่างว่าคุณได้วันปิดรับไซส์เสื้อแล้วและต้องส่งอีเมล์ตอบกลับไปยังลูกค้าที่มาสั่งเสื้อที่ form ของคุณ (ในที่นี้มี 1 คน)

1.) ทำการ Link ข้อมูลของคุณไปยัง SpreadSheet ก่อนครับให้คลิกไอ้จุดสามจุดตรงข้าง ๆ กล่องสีเขียวและกดเมนู “Select response destination”

2.) ใส่ชื่อ sheet ที่ต้องการลงไปและกด create พอเสร็จแล้วให้กดรูปกล่องสีเขียว ๆข้าง ๆ จุดสามจุดหรือเข้าไปดูใน Google Sheets ได้โดยตรง พอเข้าไปแล้วจะได้หน้าตาประมาณนี้

ขั้นตอนการเขียน Google Script

และแล้วก็มาถึงพระเอกของเรา เอาละเรามาลงมือโค้ดกันหน่อยแต่พูดถึงโค้ดหลาย ๆ คนคงจะคิดว่ามันยากแต่มันไม่ยากเลยครับง่ายมากกกกกกกกกกกกกก ซึ่งทาง Google ได้ทำวีดีโอสั้น ๆ และสามารถนำไป implement ได้จริงซึ่งสามารถดูได้จากคลิปข้างล่างหรือไม่ก็ Tutorial: Sending emails from a Spreadsheet

แต่ไหน ๆ ก็อ่านมาถึงนี่แล้วก็อ่านในนี้เลยละกันนะครับ ถถถ หรือใครจะชอบภาพเคลื่อนไหว พวกวีดีโอเพื่อแก้ง่วงก็ดูได้จากข้างบนครับ

1.) คลิกที่ Tools → Script Editor …

2.) จากนั้นให้ก๊อปโค้ดต้นแบบและวางลงไป

3.) แก้ไขให้โค้ดทำงานได้กับ Sheets เรา

ดูภาพอาจจะงง ๆ อธิบายสั้น ๆ จะได้ว่า

  1. startRow คือ แถวที่เริ่มนับจากแถวที่ ? ในที่นี้คือแถวที่ 2 เพราะว่าข้อมูลลูกค้าอยู่ตรงนั้น
  2. column คือ เริ่มนับจาก column ไหน ? ในที่นี้คือคอลัมน์ที่ 1 (ซึ่งก็คือคอลัมน์ A)
  3. numRows คือนับจากแถวที่ startRow แล้วนับลงไปอีกกี่แถว ? (นับตัวเองด้วย) เช่นในที่นี้คือ 4 แถวโดยนับจากแถวที่ 2 จากชีทถึงแถวที่ 5 จากชีท
  4. numColumns คือ นับจากคอลัมน์ที่ 1 (คอลัมน์ A) ไปกี่แถว ? ในที่นี้ data มีทั้งหมด 4 แถว เราจึงนับไป 4 แถว

และจะได้โค้ดที่แก้ไขแล้วประมาณนี้

4.) ถึงขั้นตอนการ run script ให้กดปุ่มสามเหลี่ยมข้าง ๆ รูปแมลงกับนาฬิกา … เมื่อ run จะเจอกล่องข้อความนี้ก็ให้กด accept ให้มันไปครับ

พิมพ์ Continue และทำการ Allow ให้มันตาม step ครับ

ถ้า script not found ก็ให้ดูว่าชื่อ function ตรงกับที่เราจะ run มั้ย ถ้าไม่ตรงก็ให้เปลี่ยนให้ตรงครับแล้วกด run อีกที

ผลลัพธ์ที่ได้

ในที่นี้ผมใส่ทั้ง 4 คนเป็นอีเมล์ผมหมดเลย เพราะฉะนั้นมันจึงเข้าอีเมล์ผมทั้งสี่เมล์ครับ ซึ่งมันเข้า inbox ไวมากแทบไม่ถึง 2 วินาทีก็เข้ามาแล้ว

เอาละมาดูข้างในอีเมล์ดีกว่า

สรุป

หากใครที่ใช้ Google Forms และต้องการตอบกลับอีเมล์กับผู้ที่กรอกแบบฟอร์มของเราเป็นจำนวนมาก ผมแนะนำให้ใช้ Google Script เพื่อไปจัดการดีกว่าครับ แต่ถ้าข้อมูลน้อย ๆ เช่น 10, 20, … , 100 คน ถ้าคุณจะตอบกลับโดยใช้ก๊อปวางแทนก็ไม่เสียหายครับ …

References

Hugo Fierro. 2016.Tutorial: Sending emails from a Spreadsheet. On-line. Available from Internet, https://developers.google.com/apps-script/articles/sending_emails, 11 Aug 2017.

Ayuth’s Story

ヽ༼ ° ͟ ͜ʖ ͡° ༽ノ

)

Ayuth Mangmesap

Written by

Ayuth’s Story

ヽ༼ ° ͟ ͜ʖ ͡° ༽ノ

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade