วิธีเปิด/ปิด Macro?

วิธีการเปิด/ปิด Macro บน Excel 2007
หลายคนสงสัยว่าทำไมบันทึก Macros แล้ว เมื่อเปิดไฟล์มาใช้งานอีกครั้งกลับไม่สามารถใช้งาน Macros ได้ สาเหตุส่วนใหญ่เกิดมากจากค่าที่ตั้งไว้ในโปรแกรม Excel นั้นตั้งค่าไว้ไม่เหมือนกัน
เมื่อคลิกปุ่ม หรือ สั่งให้ Macros ทำงานแล้วพบว่ามีข้อความเตือน
Cannot run the macro 'xxxxx'.
The macro may not be available in this workbook or all macros may be disabled.
จากข้อความเตือนดังกล่าว เกิดจาก
  1. ไม่มีโปรแกรม Macros ที่ระบุไว้ ซึ่งอาจเกิดจาก copy ข้อมูลไปบางส่วนแต่ไม่ได้ copy โปรแกรม VBA Macros ไปด้วย เป็นต้น
  2. โปรแกรม Excel ที่ใช้งานอยู่ ไม่ได้ตั้งค่าเปิดการทำงานของ Macros
    ซึ่งส่วนใหญ่ผู้ใช้งานจะเจอปัญหาข้อ 2 มากกว่า
ถ้าเป็นค่ามาตรฐาน จะขึ้นข้อความเตือน ผู้ใช้จำเป็นต้องคลิกอนุญาติให้โปรแกรม Excel ทำสั่ง Macros ในไฟล์ได้ (ต้องทำทุกครั้งที่เปิดไฟล์)
ตัวอย่างข้อความเตือน หากต้องการใช้ Macro ในไฟล์ที่เปิด
ต้องคลิก Options เพื่อเปิดใช้งาน Macro
ดั้งนั้นหากจำเป็นต้องใช้ Macros บ่อย ๆ เป็นงานประจำ การที่จะมานั่งคลิกกดปุ่ม Options... ทุก ๆ ครั้งคงไม่ใช่เรื่องสนุกนัก พาลจะหงุดหงิดอารมณ์เสียไปซะก่อน ว่าแล้วมาดูกันเลยว่า Excel 2007 (รวมถึงรุ่นที่ใหม่กว่า) มีวิธีจัดการ Macros กันอย่างไรบ้าง


แบบแรก "ทุกไฟล์นโยบายเดียวกัน"
การตั้งค่าแบบนี้จะเป็นการกำหนดค่าให้ใช้การตรวจสอบกับไฟล์ 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 และกำหนดให้ Excel รับรองว่าปลอดภัย สามารถเพิ่มได้หลาย ๆ โฟลเดอร์ตามการใช้งานจริง ต่อไปเมื่อเปิดไฟล์ใน R:\สำหรับเก็บไฟล์ VBA ก็ไม่ต้องมาคอย Enable Macros ให้ยุ่งยากแล้ว



เดินทางสายกลาง
สำหรับผู้ใช้ทั่ว ๆ ไปที่ไม่รู้จะเลือกอะไรดี ขอแนะนำการเลือกแบบกลาง ๆ ที่น่าจะใช้งาน Macros โดยไม่ต้องรำคาญกับข้อความเตือน และ สามารถใช้งานได้อย่างปลอดภัย
  1. Macro Settings ให้เลือก Disable all macros with notification
  2. ถ้าเก็บไฟล์ที่ใช้งานใน My Documents อยู่เป็นประจำอยู่แล้ว แนะนำให้เพิ่มโฟลเดอร์ My Documents เข้าไปใน Trusted Locations
    สำหรับไฟล์ที่ดาวน์โหลดมาจากอินเทอร์เน็ตหรืออีเมลล์ แนะนำให้บันทึกไว้ที่โฟลเดอร์อื่นก่อน ถ้าลองเปิดแล้วแน่ใจ จึงค่อยคัดลอกไฟล์ไปไว้ใน My Documents อีกที
ถ้าใครมีข้อสงสัยลองสอบก็เม้นมาได้เลย จะพยายามตอบให้เท่าที่เวลาจะอำนวยครับ :)

เกี่ยวกับเจ้าของบล๊อก

รูปภาพของฉัน

เป็นโปรแกรมเมอร์ที่ฝันว่าจะได้นอนเกาพุงไปวัน ๆ จนพุงลดกลายเป็นเอว ได้เป็นบุคคลที่มีความสุขที่สุดในโลกจนคนอื่น ๆ อิจฉา