แก้ปัญหา Run VBA ไม่ได้

หลายคนพบปัญหา ไม่สามารถ Run VBA ได้ ทั้ง ๆ ที่เป็นไฟล์ที่ใช้อยู่ปกติ มีสาเหตุอะไร และมีวิธีแก้ไขอย่างไร
New notify Security Risk alert

วันนี้หลายคนจู่ ๆ ไฟล์ที่เคย Run macro หรือ VBAได้เป็นปกติสุขดี วันนี้กลับมีข้อความเตือนแปลก ๆ ขึ้นใต้เมนู เหมือนเป็นการเตื่อนเกี่ยวกับ macro security

“Security Risk: Microsoft has blocked macro from running because the source of this file in untrusted” 😥 แปลได้ว่า “ไม่ปลอดภัย: ไมโครซอฟได้บล็อคไม่ให้มาโครทำงาน เพราะแหล่งที่มาของไฟล์นี้ไม่น่าเชื่อถือ”

😓 หลายคนคงสงสัยเป็นไปได้อย่างไร ก็ในเมื่อเมื่อวานนี้ยังใช้ได้อยู่นี่นา

😭 แล้วเปิดไฟล์ทำงานไม่ได้ จะทำไงดี

สาเหตุของปัญหา:

Microsoft ได้ update macro security Control Policy ถ้าใคร update window ในช่วง 2-3 เดือนนี้ ก็จะค่อย ๆ พบคำเตือนข้างต้น โดย microsoft ได้กำหนดให้ Block ไฟล์ทุกไฟล์ที่มี Code VBA ที่ดาวน์โหลดจาก internet ไม่ว่าจะเป็น email หรือเวปไซต์ นอกนั้นสำหรับ version 365 ยัง Block ไฟล์ macro ที่ไม่อยู่ใน Trusted location ไม่ให้สั่ง Run Code ได้ แล้วมันส่งผลอย่างไรบ้าง…

  • 👉 1. ไม่สามารถ run macro ได้ แม้จะตั้งค่า macro security ไว้เป็นแบบ Disable all macros with notification หรือ Enable all macros ไว้ก็ตาม
  • 👉 2. สำหรับกรณี Version365 ต้องวางไฟล์ที่มี macro ไว้ใน Trust Location เท่านั้นถึงจะสามารถเปิดไฟล์แล้ว run macro ได้

แก้ปัญหา macro security (ใหม่)

  • กรณีเป็นไฟล์ดาวน์โหลดจาก internet ให้ตั้งค่า file property เป็น unlock ดังนี้ (ภาพประกอบข้างล่าง)
    • 1. ปิดไฟล์ก่อนครับ
    • 2. คลิ้กขวาที่ไฟล์ เลือก Property
    • 3. ที่ Tab แรก (general) ให้ติ้ก unblock
    • 4. click ok ก็จะสามารถเปิดไฟล์ แล้ว enable macro ได้ตามปกติ
how to set unblock file (macro block)
  • กรณี Version 365 *ไม่สามารถเปิด file macro ได้ถ้าไม่อยู่ใน Folder Trusted Location
    • สร้าง Folder ขึ้นมาใหม่ 1 Folder ตั้งชื่ออะไรก็ได้ แนะนำให้ตั้งชื่อ Folder ชื่อ “TrustedFile_Folder” ที่ Drive ใดก็ได้ (แนะนำเป็น D:\ หรือ E:\)
    • เปิด Excel ขึ้นมา (ไฟล์ใดก็ได้)
    • เข้าเมนู Developer > macro security
step 1) Set trusted location
  • เลือก Trusted Location (เมนูที่ 2 ทางซ้าย)
  • Click “Add new location…” แล้ว Browse ไปยัง Folder “TrustedFile_Folder” ที่สร้างขึ้นใหม่
step 2) set the trusted locations: browse to the location
  • จะปรากฏ Path ที่กำหนดที่ Microsoft Office Trusted Location
  • ควร ติ๊ก Subfolder of this location are also trusted (แนะนำ)
  • สามารถกำหนดคำอธิบาย (หากต้องการ)
  • คลิ้ก OK
step 3) set trusted locations: Finish setting trusted location.
  • ย้ายไฟล์ที่มี VBA Code เข้ามาไว้ใน Folder นี้ / ทุกไฟล์ใน Folder นี้จะ สามารถ run VBA ได้

ข้อควรระวัง

  • 1. ควรย้ายเฉพาะไฟล์ที่ได้ตรวจสอบแล้วว่าปลอดภัยมาไว้ที่ Folder นี้
  • 2. ไม่ควรกำหนดค่าเริ่มต้น Download file เข้ามาใน Folder นี้

9 thoughts on “แก้ปัญหา Run VBA ไม่ได้

  1. หนูนา says:

    ไม่ทราบว่าจะรบกวนสอบถามหรือช่วยแก้ไขไฟล์ macro ได้มั้ยคะ
    พอดีปกติเคยใช้อยู่แล้วสามารถจัดเรียงไฟล์หรือรันได้ปกติ แต่ช่วงหลังมันจัดเรียงให้ไม่ครบเหมือนเดิมอ่าค่ะ ถามคนทำไฟล์เค้าบอกของเค้าปกติ แล้วคนอื่นก็ไม่มีปัญหา แต่พอหนูทำมันไม่ได้อะค่ะ ไม่รู้เกิดจากคอมหนู หรือว่าเกิดจากอะไร

    • อ.ชาติ says:

      สามารถสอบถามมาได้ครับ
      แต่การที่จะบอกว่าปัญหาเกิดจากอะไร ต้องเห็นไฟล์ครับ เป็นไปได้ว่าพื้นที่ของข้อมูลเปลี่ยนไปแต่มีการเขียนโค้ดได้แบบจำกัด หรือลักษณะของข้อมูลเองก็เป็นได้ครับ จึงทำให้การจัดเรียงไม่ครบครับ แรกสุดก็ต้องลองส่งไฟล์มาดูครับ สามารถส่งไฟล์มาได้ที่ [email protected] ครับ

  2. ธนกร says:

    ผมเขียนโปรแกรม vba ด้วยโน๊ตบุ๊คส่วนตัว แล้ว copy ไฟล์ไปลงที่เครื่องคอมพิวเตอร์เครื่องอื่น มันขึ้นเป็น sheet excel ปกติ ไม่สามารถรัน macro ได้ ผมไปกำหนดค่าใน property แล้ว แต่มันก็ยังรันไม่ได้เหมือนเดิม อ.พอที่จะช่วยแนะนำให้หน่อยได้ไหมครับ

  3. วัลยา says:

    ไม่สามารถเรียกใช้แมโครได้เนื่องจากไม่ได้ติตั้งไลบราลีสนับสนุน vba
    แก้ยังไงคะ

  4. กลอย says:

    สวัสดีค่ะอาจารย์ชาติ กลอยพบปัญหา marcro รันนานมากๆ 20 นาทีขึ้นไป ถึงครึ่งชั่วโมงต่อการรัน 1 ครั้ง ไม่ทราบว่าสามารถปรึกษาอาจารย์ชาติได้ไหมคะ

  5. Thanansak Waewbanthid says:

    macro ทำ 50 ทวิ ใส่ข้อมูล ให้สร้างเป็นpdf กดรันได้ปกติ แต่ไม่สร้างไฟล์ให้ ต้องแก้ยังไงครับ

    • อ.ชาติ says:

      ความหมายของการสร้างไฟล์ให้คืออะไรครับ
      ช่วยอธิบายเพิ่มหน่อยก็ดีนะครับ
      หรือ โทรฯ มาคุยก็ได้ครับ 0990842562

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *