Mặc dù câu trả lời từ Mokubai và hBy2Py có vẻ rất hay và thực sự cho phép bạn hiển thị Trình chỉnh sửa VBA, nhưng có vẻ như ít nhất trong Excel từ Microsoft Office Professional Plus 2016 vẫn không cho phép bạn xem mã.
Tôi tình cờ sở hữu phiên bản đó và tôi chắc chắn rằng mình đã nhận được một XLS độc hại và muốn kiểm tra nó. Sau khi mở nó trong Excel, nó đã mở ở chế độ an toàn như bình thường và tất nhiên tôi không có ý định loại bỏ chế độ đó. Khi tôi mở Trình soạn thảo VBA như những người trả lời khác đã chỉ ra, tôi đã được trình bày với ... Trình soạn thảo VBA trống . Bảng điều khiển "Project explorer" hiển thị một cách hữu ích "Không có dự án mở" mặc dù tôi chưa đóng tệp XLS. Chỉ để thử nghiệm, tôi đã mở tài liệu thứ hai (một trong những công việc của tôi) và nó ngay lập tức xuất hiện trong VBA Editor và hoàn toàn không có VBA. Tuy nhiên, tài liệu từ internet không được liệt kê trong Trình chỉnh sửa VBA .
Tôi đã lãng phí thời gian để cố gắng tìm hiểu tại sao lại như vậy, và không tìm thấy lý do. Có vẻ như phiên bản Excel của tôi đơn giản là không gửi các mô-đun VBA đến Trình chỉnh sửa VBA khi tài liệu được tải ở chế độ an toàn. Đáng buồn thay, VBA Editor thiếu một số tính năng "mở VBA từ Tài liệu Office", vì vậy rõ ràng Excel là bộ não ở đây và nó phải giải nén / giải mã / bất cứ điều gì XLS đầu tiên.
Giải pháp hóa ra khá đơn giản.
- Bấm
Ribbon
-> Developer
->MacroSecurity
- cách khác,
File
-> Options
-> SecurityCenter
(nhóm tùy chọn cuối cùng) -> Settings
-> Macros
)
- Ghi nhớ (hoặc ghi lại) các cài đặt hiện tại là gì
- Thay đổi chúng thành "Chặn tất cả các macro mà không cần thông báo"
- Xác nhận, đóng, mở lại tài liệu, mở lại VBA Editor
- Khôi phục cài đặt gốc trong khi bạn chơi xong với lửa
Tác dụng:
- thông báo không xuất hiện
- tài liệu đã được tải đầy đủ
- không có macro được thực thi
- VBA Editor đã nhận được các mô-đun và trình bày tất cả các mã
Trong trường hợp bạn tò mò: có, nó thực sự là độc hại, ví dụ nhỏ:
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. như bạn có thể thấy tôi đã nhận xét điểm nhập cảnh và lưu lại tài liệu, trong trường hợp tôi cho phép các macro chạy vào một thời điểm nào đó sau đó.
Alt
+F11
có thể khiến! SECURITY WARNING ... Enable Content
biểu ngữ "" biến mất, ngụ ý rằng việc thực thi mã hiện đã được bật. Điều này là sai lệch. Bạn có thể demo điều này bằng cách tạo một tài liệu với mộton_open()
mô-đun. Bạn sẽ có thểAlt
+F11
vào và kiểm tra mã mà không cần bắn sự kiện.