หลายคนสงสัยว่าทำไมบันทึก Macros แล้ว เมื่อเปิดไฟล์มาใช้งานอีกครั้งกลับไม่สามารถใช้งาน Macros ได้ สาเหตุส่วนใหญ่เกิดมากจากค่าที่ตั้งไว้ในโปรแกรม Excel นั้นตั้งค่าไว้ไม่เหมือนกัน
![]() |
เมื่อคลิกปุ่ม หรือ สั่งให้ Macros ทำงานแล้วพบว่ามีข้อความเตือน Cannot run the macro 'xxxxx'. The macro may not be available in this workbook or all macros may be disabled. |
- ไม่มีโปรแกรม Macros ที่ระบุไว้ ซึ่งอาจเกิดจาก copy ข้อมูลไปบางส่วนแต่ไม่ได้ copy โปรแกรม VBA Macros ไปด้วย เป็นต้น
- โปรแกรม Excel ที่ใช้งานอยู่ ไม่ได้ตั้งค่าเปิดการทำงานของ Macros
ซึ่งส่วนใหญ่ผู้ใช้งานจะเจอปัญหาข้อ 2 มากกว่า
![]() |
ตัวอย่างข้อความเตือน หากต้องการใช้ Macro ในไฟล์ที่เปิด ต้องคลิก Options เพื่อเปิดใช้งาน Macro |
แบบแรก "ทุกไฟล์นโยบายเดียวกัน"
การตั้งค่าแบบนี้จะเป็นการกำหนดค่าให้ใช้การตรวจสอบกับไฟล์ Excel ที่มี Macros ทุกไฟล์ เป็นวิธีที่ใช้กันมาตั้งแต่รุ่นโบราณ (รุ่นก่อน 2007)
![]() |
คลิกที่ปุ่มโลโก้ Office แล้วคลิกปุ่ม Excel Options |
![]() |
คลิก Trust Center จากนั้นคลิกปุ่ม Trust Center Settings... เพื่อเปิดหน้าต่าง Trust Center |
![]() |
คลิกที่ Macro Settings ในช่องด้านขวาจะมีให้เลือกเงื่อนไขการเปิดใช้งาน Macros |
- Disable all macros without notification
เลือกข้อนี้จะปิดการใช้งาน Macros ถาวร ไม่มีการข้อความเตือนเมื่อเปิดไฟล์
- Disable all macros with notification ← สำหรับผู้ใช้งานทั่วไปแนะนำข้อนี้ครับ
เมื่อเปิดไฟล์ Macros จะถูกปิดไม่ให้ทำงาน และจะขึ้นข้อความเตือน ผู้ใช้สามารถคลิกปุ่ม Options... เพื่ออนุญาติให้ Macros ทำงานได้
- Disable all macros except digitally signed macros
สำหรับข้อนี้เหมาะกับองค์กรที่มีการใช้ Macros จากบริษัทที่มีการลงลายเซ็นอิเล็กทรอนิกส์รับรองจากบริษัทผู้สร้าง Macros เป็นเรื่องเป็นราว ผู้ใช้งานทั่วไปคงไม่ได้ใช้กันครับ
เพราะถ้าไฟล์ไหนไม่มีลายเซ็นฯ ก็จะปิดการใช้งาน Macros โดยไม่ขึ้นคำเตือน
- Enable all macros (not recommended; potentially dangerous code can run)
ใครที่คิดว่าแน่ก็เลือกข้อนี้เลย เพราะโปรแกรม Excel จะอนุญาติให้ Macros ทำงานได้ทันทีเมื่อเปิดไฟล์ ไม่มีการเตือนให้รำคาญใจ
แต่!!! ไม่แนะนำ สำหรับผู้ใช้งานทั่วไป เพราะหากคุณเผลอไปเปิดไฟล์ที่มีคำสั่งที่อันตรายเข้า (เช่นมีคำสั่ง ลบไฟล์ เขียนข้อมูลทับ) โดยตั้งใจหรือไม่ตั้งใจก็ตาม อาจทำให้เกิดความเสียหายกับเครื่องและข้อมูลที่มีอยู่ได้
ดังนั้นจะเลือกข้อนี้ต้องระวังและแน่ใจว่าตัวเองรอบคอบ ไม่เปิดไฟล์ Excel ที่ไม่น่าไว้ใจหรือไม่น่าเชื่อถือ
แบบที่สอง "เฉพาะโฟลเดอร์ที่ใช้งานเท่านั้น"
การตั้งค่าแบบแรกนั้นถ้าคนใช้งานบ่อย ๆ และไม่อยากจะต้องมาเปิด Macros โดยคลิก Options ทุกครั้ง จะเลือก Enable all macros ให้เปิดตลอดก็กลัวจะไปเจอปัญหาที่ไม่คาดฝัน ดังนั้นตั้งแต่ Excel 2007 เป็นต้นมาได้แก้ไขปัญหานี้ โดยให้ผู้ใช้สามารถเพิ่มตำแหน่งโฟลเดอร์ที่เก็บไฟล์ที่มี Macros เฉพาะได้ โดยหากเปิดไฟล์ในโฟลเดอร์ที่กำหนด โปรแกรม Excel จะอนุญาติให้เรียกใช้ Macros ได้ทันที
![]() |
สมมติว่ามีสร้างโฟลเดอร์ชื่อ R:\สำหรับเก็บไฟล์ VBA ที่สำหรับเอาไว้ทำงานกับ Macros แน่ ๆ |
![]() |
ทำการเพิ่มโฟลเดอร์โดยการเลือก Trusted Locations คลิก Add new location... |
![]() |
คลิกที่ปุ่ม Browse... เพื่อเลือกโฟลเดอร์ที่จะเพิ่ม |
![]() |
เลือกโฟลเดอร์ R:\สำหรับเก็บไฟล์ VBAจากนั้นกดปุ่ม OK |
![]() |
หากต้องการให้เปิด Macros ในโฟลเดอร์ย่อย ๆ ด้วยให้ทำเครื่องหมายถูก Subfolders of this location are also trusted |
![]() |
รายการโฟลเดอร์ที่จะเพิ่มจะไปอยู่ในตารางเรียบร้อย สามารถลบหรือแก้ไขโฟลเดอร์ โดยกดปุ่ม Remove และ Modify... ตามลำดับ |
เดินทางสายกลาง
สำหรับผู้ใช้ทั่ว ๆ ไปที่ไม่รู้จะเลือกอะไรดี ขอแนะนำการเลือกแบบกลาง ๆ ที่น่าจะใช้งาน Macros โดยไม่ต้องรำคาญกับข้อความเตือน และ สามารถใช้งานได้อย่างปลอดภัย
- Macro Settings ให้เลือก Disable all macros with notification
- ถ้าเก็บไฟล์ที่ใช้งานใน My Documents อยู่เป็นประจำอยู่แล้ว แนะนำให้เพิ่มโฟลเดอร์ My Documents เข้าไปใน Trusted Locations
สำหรับไฟล์ที่ดาวน์โหลดมาจากอินเทอร์เน็ตหรืออีเมลล์ แนะนำให้บันทึกไว้ที่โฟลเดอร์อื่นก่อน ถ้าลองเปิดแล้วแน่ใจ จึงค่อยคัดลอกไฟล์ไปไว้ใน My Documents อีกที
ถ้าใครมีข้อสงสัยลองสอบก็เม้นมาได้เลย จะพยายามตอบให้เท่าที่เวลาจะอำนวยครับ :)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น