วิธีการตรวจสอบ / ดูแมโคร Excel ก่อน“ เปิดใช้งานแมโคร” สำหรับแผ่นงาน


13

ฉันได้รับไฟล์ xls เป็นครั้งคราวซึ่งมีมาโครที่ฉันควรใช้ หากฉันไม่ไว้วางใจผู้ส่งอย่างสมบูรณ์ฉันต้องการตรวจสอบแหล่งที่มาของแมโครเพื่อตรวจสอบว่าจริง ๆ แล้วทำในสิ่งที่ควรจะเป็นเท่านั้น

อย่างไรก็ตามใน Excel 2010 ปุ่ม "แก้ไข" ภายใต้ "มุมมองมาโคร" ถูกปิดใช้งานยกเว้นว่าฉันจะเปิดใช้งานมาโครสำหรับแผ่นงานเป็นครั้งแรก - แต่ถ้าฉันเปิดใช้งานมาโครเป็นครั้งแรก วิ่ง...

ฉันจะดูแหล่งที่มาของแมโครก่อนที่จะเปิดใช้งานแมโครสำหรับเอกสารได้อย่างไร

คำตอบ:


13

คุณสามารถดูมาโครทั้งหมดในเอกสารได้โดยใช้แท็บนักพัฒนาใน Word เพื่อให้คุณเข้าถึงรูทีน Visual Basic ที่ฝังอยู่ในเอกสารได้ง่าย

ก่อนอื่นคุณต้องตรวจสอบให้แน่ใจว่าได้เปิดใช้งานแท็บนักพัฒนาซอฟต์แวร์ ไปที่ไฟล์ -> ตัวเลือกจากนั้น:

แท็บนักพัฒนาซอฟต์แวร์

บนแท็บนักพัฒนาที่ควรปรากฏขึ้นในขณะนี้ควรมีปุ่ม "Visual Basic" ซึ่งคุณสามารถคลิกเพื่อไปที่ตัวแก้ไข Visual Basic

การเรียกดูทรีเอกสารทางด้านซ้ายของเครื่องมือแก้ไขคุณควรเห็นรหัสและโมดูลทั้งหมดที่ฝังอยู่ในเอกสารโดยไม่ต้องเปิดใช้งานแมโครก่อน

ฉันมักจะทำสิ่งนี้กับเอกสารที่ฉันไม่เชื่อถือ

หมายเหตุ: ฉันทำสิ่งนี้ใน Word แล้วคุณสมบัติเดียวกันมีอยู่ใน Excel และตัวเลือกเพื่อเปิดใช้งานอยู่ในที่เดียวกัน


9

ในแอปพลิเคชัน Office ทุกรุ่นตั้งแต่ปี 2003 และอาจเร็วกว่านี้Alt+ F11จะเปิดตัวแก้ไข VBA ไม่จำเป็นต้องเปิดใช้งานแท็บ 'นักพัฒนา' ใน Ribbon สำหรับ Office 2007 และรุ่นใหม่กว่านี้เพื่อให้ทำงานได้


2
เป็นที่น่าสังเกตว่าในหลาย ๆ เวอร์ชัน (อย่างน้อย Excel) Alt+ F11อาจทำให้! SECURITY WARNING ... Enable Contentแบนเนอร์ "" หายไปซึ่งหมายความว่าขณะนี้เปิดใช้งานการเรียกใช้โค้ดแล้ว นี่เป็นสิ่งที่ทำให้เข้าใจผิด คุณสามารถสาธิตสิ่งนี้ได้ด้วยการสร้างเอกสารด้วยon_open()โมดูล คุณจะสามารถAlt+ F11ในและตรวจสอบรหัสโดยไม่ต้องเริ่มกิจกรรม
Peter Vandivier

0

ในขณะที่คำตอบจาก Mokubai และ hBy2Py นั้นยอดเยี่ยมและทำให้คุณสามารถแสดง VBA Editor ได้ แต่ดูเหมือนว่าอย่างน้อยใน Excel จากMicrosoft Office Professional Plus 2016ยังไม่อนุญาตให้คุณดูรหัส

ฉันบังเอิญเป็นเจ้าของเวอร์ชันนั้นและฉันมั่นใจว่าฉันได้รับ XLS ที่เป็นอันตรายและต้องการตรวจสอบ หลังจากเปิดใน Excel มันจะเปิดขึ้นในเซฟโหมดตามปกติและแน่นอนว่าฉันไม่ได้ตั้งใจจะยกเลิกโหมดนั้น เมื่อฉันเปิดตัวแก้ไข VBA เป็นผู้ตอบแบบสอบถามระบุอื่น ๆ ฉันถูกนำเสนอด้วย ... ว่างเปล่าแก้ไข VBA "Project explorer" พาเนลแสดงเป็นประโยชน์"ไม่มีโปรเจ็กต์เปิด"แม้ฉันยังไม่ได้ปิดไฟล์ XLS เพียงเพื่อการทดสอบฉันเปิดเอกสารที่สอง (หนึ่งในงานของฉัน) และมันปรากฏตัวขึ้นทันทีใน VBA Editor และเป็น (ไม่ถูกต้อง) โดยสิ้นเชิงจาก VBA ใด ๆ อย่างไรก็ตามเอกสารจากอินเทอร์เน็ตที่ไม่ได้ระบุไว้ในตัวแก้ไข VBA

ฉันเสียเวลาพยายามคิดออกว่าทำไมถึงเป็นเช่นนั้นและไม่พบเหตุผล ดูเหมือนว่ารุ่น Excel ของฉันไม่ได้ส่งโมดูล VBA ไปยัง VBA Editor เมื่อโหลดเอกสารในเซฟโหมด น่าเสียดายที่ VBA Editor ไม่มีฟีเจอร์ "เปิด VBA จาก Office Document" ดังนั้นจึงเป็นที่ชัดเจนว่า Excel เป็นสมองที่นี่และต้องคลาย / ถอดรหัส / อะไรก็ตามที่ XLS เป็นอันดับแรก

ทางออกกลายเป็นเรื่องง่ายมาก

  1. คลิกRibbon-> Developer->MacroSecurity
  2. หรือFile-> Options-> SecurityCenter(กลุ่มตัวเลือกสุดท้าย) -> Settings-> Macros)
  3. จดจำ (หรือจดบันทึก) การตั้งค่าปัจจุบันคืออะไร
  4. เปลี่ยนเป็น "บล็อกมาโครทั้งหมดโดยไม่มีการแจ้งเตือน"
  5. ยืนยันปิดเปิดเอกสารอีกครั้งเปิด VBA Editor อีกครั้ง
  6. คืนค่าการตั้งค่าดั้งเดิมในขณะที่คุณเล่นจบด้วยไฟ

ผลกระทบ:

  • การแจ้งเตือนไม่แสดงขึ้น
  • โหลดเอกสารครบแล้ว
  • ไม่มีมาโครดำเนินการ
  • VBA Editor ได้รับโมดูลและแสดงรหัสทั้งหมด

ในกรณีที่คุณอยากรู้: ใช่มันเป็นอันตรายอย่างแท้จริงตัวอย่างเล็ก ๆ :

Function marcopoloko()
marcopoloko = Left("CM to inches converter", 2) + Right("fed.ex", 4) + "e  " + "/c" + numneroop + amagilocard
End Function

'Sub Workbook_Open()
'If xlTickMarkOutside > 0 Then
'Shell marcopoloko + """", xlXmlExportSuccess
'End If
'End Sub

BTW ในขณะที่คุณสามารถเห็นฉันทันทีแสดงความคิดเห็นออกจากจุดเข้าและบันทึกเอกสารอีกครั้งในกรณีที่ฉันอนุญาตให้แมโครที่จะทำงานในบางช่วงเวลาในภายหลัง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.