ดึงรูปภาพจาก Google Forms มาแสดงในแบบฟอร์ม Microsoft Word โดยใช้จดหมายเวียน (mail Merge)


ถ้ามีแบบฟอร์ม Word ที่ต้องเติมข้อมูล แล้วข้อมูลที่นำมาเติมลงไปนั้นมาจากไฟล์ excel ถ้าเป็นข้อความสามารถแทรกได้ง่ายๆ ด้วย mail merge เป็นตัวช่วยค่ะ


แล้วถ้าข้อมูลที่จะนำมาเติมลงในแบบฟอร์ม Word เป็นข้อมูลที่มาจาก Google Forms 
ตัวอย่าง Forms มีการเก็บ ชื่อ-สกุล | ตำแหน่ง | รูปภาพ

ภาพจาก Google Forms จะถูกนำไปเก็บไว้ที่ Google Drive

ถ้าเราจะดึงรูปภาพจาก Google Forms ไปแสดง เราต้องทำตามขั้นตอน ดังนี้ ค่ะ
1. ไปที่ Google Forms > การตอบกลับ > จะเห็นข้อมูลที่มีการตอบกลับ
ให้ไปที่> เลือก ดาวน์โหลดการตอบกลับ .CSV 

2. เมื่อเปิดไฟล์ด้วย Microsoft Excel จะเห็นการไม่รองรับภาษาไทย 

ให้ปิดไปก่อน แล้วคลิกขวาที่ไฟล์ .CSV เลือก Open With > Notepad
File > Saveas
encoding > UTF-8 with BOM
> Save

เปิดไฟล์อีกครั้ง จะเห็นว่า แสดงภาษาไทยได้แล้วค่ะ

3. ส่วนหัว/ ชื่อคอลัมภ์ให้เปลี่ยนเป็นภาษาอังกฤษ จะได้ง่ายต่อการอ้างถึง
คอลัมภ์ img1 / path ที่แสดงตามนี้ค่ะ
path ที่ดึงรูปภาพจาก Google Drive (เป็นภาพที่ Google Forms นำไปเก็บไว้ที่ Google Drive)
**จะต้องแก้ไข path เป็น...export.. ตามภาพใช้ฟังก์ชัน ค้นหา แทนที่เพื่อลดความผิดพลาดในการแก้ไขค่ะ

4. ไปที่ฟอร์มของ Microsoft Word เพื่อเรียกใช้ Mail Merge หรือจดหมายเวียน
ไปที่เมนู > การส่งจดหมาย > เลือกผู้รับ > ใช้รายชื่อที่มีอยู่ > เลือกไฟล์ Excel ที่เราเตรียมไว้แล้ว
กดเปิด.....แทรกเขตข้อมูลผสาน > ชื่อคอลัมภ์ excel จะแสดงตรงส่วนนี้ เพื่อให้เราเลือกแทรกข้อมูลได้ค่ะ




ในส่วนของรูปภาพจะซับซ้อนขึ้นมาหน่อย
ไปที่ แทรก > ส่วนประกอบด่วน > เขตข้อมูล > IncludePicture > คุณสมบัติเขตข้อมูล (ใส่ชื่อคอลัมภ์รูปภาพลงไป) > พิมพ์ img1


*รูปภาพจะยังไม่แสดง 

ให้คลิกที่วัตถุ แล้วกด Alt + F9 วัตถุจะอยู่ในมุมมอง code ให้ดับเบิ้ลคลิกตรงข้อความ img1

แล้วไปที่เมนู การส่งจดหมาย > แทรกเขตข้อมูลผสาน > เลือกคอลัมภ์ img1 (คอลัมภ์รูปภาพ)

Microsoft Word จะมีหน้าต่างให้เรากดยืนยันยอมรับการเชื่อมโยงข้อมูลภายนอก ให้กดใช่  > แล้วคลิกที่วัตถุ ตามด้วย กด F9 > แสดงรูปภาพได้แล้วค่ะ


เมื่อแทรกรูปภาพใน mail merge แบบนี้แล้ว ถ้าคลิก ระเบียนถัดไป ข้อความเปลี่ยน แต่รูปภาพจะเปลี่ยนตามเมื่อกด  F9 เท่านั้น (ถ้าไม่คลิกที่วัตถุ แล้วกด F9 รูปภาพจะไม่เปลี่ยน)

ถ้ากดสั่งพิมพ์ ไฟล์ที่ได้รูปภาพจะไม่เปลี่ยนตาม 

ให้ไปที่ > เมนู การส่งจดหมาย > เสร็จสิ้นและผสาน > แก้ไขแต่ละเอกสาร > เลือกทั้งหมด

> กด Ctrl + A เพื่อเลือกทั้งหมด แล้วกด  F9 รูปภาพจะเปลี่ยน-ถูกต้องทุกระเบียนแล้วค่ะ

ที่เราทำไปแล้วคือ การดึงภาพจาก Google Drive มาแสดง
เราสามารถเพิ่มการดึงข้อมูลรูปภาพจากเครื่องคอมพิวเตอร์มาแสดงในแบบฟอร์ม Word ไฟล์เดียวกันได้ด้วยนะคะ กด save ไฟล์ Word  แล้วปิดหน้าต่างโปรแกรมไปก่อน

5. เปิดไฟล์ excel ขึ้นมาใหม่ เพิ่มคอลัมภ์ img2 เพื่อดึงภาพจากไดร์ฟ c:\
พิมพ์ได้ตามนี้ค่ะ (\\ backslash นะคะ) แก้ไขเรียบร้อยให้ปิด excel ไปค่ะ



6. เปิด word ขึ้นมาอีกครั้ง ทำตามขั้นตอน
ไปที่ แทรก > ส่วนประกอบด่วน > เขตข้อมูล > IncludePicture > คุณสมบัติเขตข้อมูล (ใส่ชื่อคอลัมภ์รูปภาพลงไป) > พิมพ์ img2
**จากนั้นวนกลับไปทำตามขั้นตอน ข้อ 4.

ไฟล์ที่ได้สามารถบันทึกเป็น .PDF หรือสั่งพิมพ์ได้ค่ะ


โน๊ต
#1
ลิงค์ที่ได้จากไฟล์ .CSV ที่ export มาจาก Google Forms คือ
https://drive.google.com/u/0/open?usp=forms_web&id=1hX7rEyAeTSZEBWa_oQKa_dIkvP2Es7WM
ให้เปลี่ยนลิงค์เป็น 
https://drive.google.com/uc?export=view&id=1hX7rEyAeTSZEBWa_oQKa_dIkvP2Es7WM

*** 1hX7rEyAeTSZEBWa_oQKa_dIkvP2Es7WM คือ ID ของรูปภาพ 

#2
ตัวอย่าง path ของไฟล์ในเครื่องคอมพิวเตอร์
c:\\mailMerge\\images\\01.jpg
01.jpg คือ ชื่อของรูปภาพ

#3
ไฟล์จากการตอบกลับผ่าน Google Forms เมื่อ export จะได้เป็นไฟล์ .csv 
เมื่อเปิดไฟล์ .csv ด้วย Microsoft Excel จะเห็นว่าไม่รองรับภาษาไทย
วิธีแก้ไขให้คลิกขวาที่ไฟล์ .csv เลือก Open with > Notepad 
ไปที่ File > Save As > ส่วน Encoding : UTF-8 with BOM > บันทึกไฟล์

#4
เมื่อสร้างจดหมายเวียนเสร็จแล้ว กดเปลี่ยนระเบียนถัดไป จะเห็นว่า ข้อความเปลี่ยน แต่รูปภาพไม่เปลี่ยน ยังแสดงภาพเดิม ต้องคลิกที่ภาพ แล้วกด F9 เพื่อเปลี่ยนรูปภาพ หากมีหลายระเบียน การกด F9 ทีละระเบียน อาจจะไม่สะดวก  
ให้ไปที่ > เมนู การส่งจดหมาย > เสร็จสิ้นและผสาน > แก้ไขแต่ละเอกสาร > เลือกทั้งหมด
Word จะสร้างไฟล์ใหม่ขึ้นมาให้
> กด Ctrl + A เพื่อเลือกทั้งหมด แล้วกด  F9 รูปภาพจะเปลี่ยน-ถูกต้องทุกระเบียนแล้วค่ะ
ขอบคุณข้อมูลจาก
https://www.ajmontri.com/581

คลิปแสดงขั้นตอน