답변:
Word의 개발자 탭을 사용하여 문서에 포함 된 Visual Basic 루틴에 쉽게 액세스 할 수 있도록하여 문서의 모든 매크로를 살펴볼 수 있습니다.
먼저 개발자 탭이 활성화되어 있는지 확인해야합니다. 파일-> 옵션으로 이동 한 다음 :
이제 나타나는 개발자 탭에는 "Visual Basic"단추가 있어야 Visual Basic 편집기로 이동할 수 있습니다.
편집기 왼쪽의 문서 트리를 찾아 보면 먼저 매크로를 활성화하지 않고도 문서에 포함 된 모든 코드와 모듈을 볼 수 있습니다.
나는 신뢰할 수없는 문서로 이것을하는 경향이있다.
참고 : Word 에서이 작업을 수행했으며 Excel에서 동일한 기능을 사용할 수 있으며이를 활성화하는 옵션이 같은 위치에 있습니다.
Mokubai와 hBy2Py의 답변은 훌륭해 보이며 실제로 VBA 편집기를 표시 할 수는 있지만 적어도 Microsoft Office Professional Plus 2016의 Excel 에서는 여전히 코드를 볼 수없는 것으로 보입니다 .
해당 버전을 소유하고 있으며 악의적 인 XLS를 받았으며이를 검사하고 싶었습니다. Excel에서 열면 평소와 같이 안전 모드로 열렸으며 물론 해당 모드를 해제 할 의사가 없었습니다. 다른 응답자가 표시된 것처럼 VBA 편집기를 열었을 때 빈 VBA 편집기 가 표시되었습니다 . XLS 파일을 아직 닫지 않았지만 "프로젝트 탐색기"패널에 "열린 프로젝트 가 없습니다 " 라는 메시지가 표시되었습니다. 테스트를 위해 두 번째 문서 (내 작업 중 하나)를 열었고 즉시 VBA 편집기에 표시되었으며 VBA가 전혀 없었습니다. 그러나 인터넷의 문서 는 VBA 편집기에 나열되지 않았습니다 .
나는 왜 그런지 알아 내려고 시간을 낭비했고 아무런 이유도 발견하지 못했습니다. 문서가 안전 모드로로드 될 때 내 Excel 버전은 VBA 모듈을 VBA 편집기로 보내지 않는 것 같습니다. 안타깝게도 VBA 편집기에는 "Office 문서에서 열린 VBA 열기"기능이 없으므로 Excel이 여기에 있으며, XLS를 먼저 언팩 / 디코딩 / 해제해야합니다.
해결책은 매우 간단합니다.
Ribbon
-> Developer
->MacroSecurity
File
-> Options
-> SecurityCenter
(마지막 옵션 그룹)-> Settings
-> Macros
)효과 :
궁금한 점이 있습니다. 예, 실제로 악의적이고 작은 예였습니다.
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. 보시다시피 매크로가 나중에 실행되도록 허용하는 경우 즉시 진입 점을 주석 처리하고 문서를 다시 저장했습니다.
Alt
+F11
는 "! SECURITY WARNING ... Enable Content
"배너가 사라지도록하여 코드 실행이 활성화되었음을 의미 합니다. 오해의 소지가 있습니다.on_open()
모듈 로 문서를 작성하여이를 데모 할 수 있습니다 . 이벤트를 시작하지 않고도 코드 를Alt
+ 입력F11
하고 검사 할 수 있습니다 .