RPA/Excel

[매크로] 기록/ 버튼으로 매크로 구축 및 Visaul Basic 단축키와 켜기

Ch's Lee 2026. 1. 8. 20:46

 

 

  1. 1. 에러 발생 원인 및 해결 (심층 분석)
    • 핵심 원인: MOTW (Mark of the Web)
      • 윈도우는 인터넷이나 신뢰할 수 없는 영역(Zone)에서 받은 파일에 대해 NTFS의 ADS(Alternate Data Stream) 영역에 Zone.Identifier라는 숨겨진 태그를 붙입니다.
      • 이 태그가 붙어 있으면 엑셀은 해당 파일을 "격리된 샌드박스" 개념으로 취급하여, VBA 엔진 구동 자체를 막아버립니다. (2022년 보안 패치 이후 적용)
    • 해결책 (재확인):
      • 파일 탐색기에서 파일 우클릭 -> [속성] -> [차단 해제] 체크 -> [확인] (이 과정이 Zone.Identifier 스트림을 삭제하는 과정입니다.)
    2. VBA 매크로 기록 (개발자를 위한 주의사항)
    • 기록 방법: (작성하신 내용 완벽함)
      1. [개발 도구] 탭 -> [매크로 기록]
      2. 이름 설정 후 확인
      3. 동작 수행
      4. [기록 중지]
    • ⚠️ 개발자 Note:
      • 매크로 기록기는 사용자의 마우스 동작 하나하나를 Select, Activate 등의 메서드로 기록합니다.
      • 이는 실행 속도를 저하시키고 가독성을 해칩니다. 기록기는 **"특정 기능을 구현하는 메서드나 속성명을 알아내는 용도(API 문서 대용)"**로만 참고하시고, 실제 코드는 직접 정제하는 것이 좋습니다.
    3. Visual Basic 소스 확인 (IDE 활용)
    • 진입: Alt + F11 (정확함)
    • 구조:
      • 프로젝트 탐색기(Ctrl+R): Spring의 Project Explorer와 같습니다.
      • 속성 창(F4): 선택한 객체의 속성을 봅니다.
      • 직접 실행 창(Ctrl+G): Console 로그를 찍거나 변수를 즉시 테스트할 때 사용합니다. (JS의 Chrome Console과 유사)
    4. 개발 도구 탭 활성화
    • 경로: 리본 메뉴 우클릭 -> [리본 메뉴 사용자 지정] -> 우측 목록에서 [개발 도구] 체크
  2. (작성하신 내용 완벽함)
  3. VBA 에디터(VBE)는 낡아 보이지만, 디버깅 기능은 강력합니다.
  4. 매크로 기록기는 훌륭한 도구지만, 생성되는 코드는 **'비효율적'**입니다. 충현 님의 코딩 스타일(Clean Code)과는 거리가 멀 수 있습니다.
  5. 작성하신 내용은 정확합니다. 여기에 기술적 배경을 조금 더 보태면 이해가 명확해집니다.

 

동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.