엑셀 매크로 비활성화 해결법 완벽 가이드: 신뢰 위치, 보호된 보기, 디지털 서명 설정

이 글의 목적은 엑셀에서 매크로가 비활성화될 때 발생하는 원인을 체계적으로 진단하고, 보안 요구사항을 충족하면서 안전하게 매크로를 활성화하는 실무 절차를 제공하는 것이다.

왜 매크로가 비활성화되는가

엑셀은 보안을 위해 기본적으로 매크로 실행을 제한한다. 특히 인터넷에서 내려받은 파일, 이메일 첨부, 클라우드 동기화 폴더의 파일은 추가 차단 표식이 붙어 실행이 제한되기 쉽다. 조직 환경에서는 그룹 정책이나 엔드포인트 보안 솔루션이 매크로 실행을 차단하기도 한다. 따라서 “어디서 온 파일인지”와 “어떤 정책이 적용되는지”를 먼저 파악해야 한다.

증상별 즉시 진단 체크리스트

증상 가능 원인 1차 조치
노란 보안 경고에 ‘콘텐츠 사용’ 버튼이 보이다 보호된 보기 또는 인터넷 표식 파일이다 파일 속성의 차단 해제 또는 신뢰 위치 이동을 검토한다
보안 경고가 없고 매크로가 전혀 동작하지 않는다 VBA 설정이 ‘알림 없이 모두 비활성화’이다 보안 센터에서 매크로 설정을 점검한다
매크로 설정 메뉴가 회색으로 잠겨 있다 그룹 정책 또는 MDM에서 강제 설정이다 IT 관리 정책을 확인하고 GPO/레지스트리 상태를 점검한다
디지털 서명 오류 또는 서명자 신뢰 안 됨 인증서 만료 또는 신뢰 루트 미설치이다 신뢰할 수 있는 게시자로 등록하거나 새 유효 인증서로 다시 서명한다
Excel Online에서는 동작 안 함 브라우저 버전은 VBA를 지원하지 않는다 데스크톱 엑셀에서 연다

파일 형식과 기본 보안 동작 이해

  • 매크로 포함 통합문서 .xlsm 또는 .xlsb 이어야 한다. .xlsx 는 VBA를 저장하지 못한다.
  • 추가기능은 .xlam 형식이다.
  • 인터넷에서 내려받은 파일에는 NTFS 대체 데이터스트림에 영역 표식이 남아 추가 차단이 적용된다.
주의 : .xlsx .xlsm 으로 확장자만 바꾸면 매크로가 생기지 않는다. 반드시 “다른 이름으로 저장”에서 형식을 매크로 포함 통합 문서 로 선택해야 한다.

보안 센터에서 매크로 설정 경로

  1. 엑셀 열기 → 파일 옵션 보안 센터 보안 센터 설정 진입한다.
  2. 매크로 설정 에서 다음 옵션을 점검한다.
    • 알림 표시 후 매크로 비활성화 권장한다.
    • 신뢰할 수 있는 게시자의 디지털 서명이 있는 매크로만 허용 옵션을 검토한다.
  3. 신뢰할 수 있는 위치 보호된 보기 탭도 함께 조정한다.
주의 : 조직 PC에서 해당 메뉴가 회색이면 그룹 정책으로 잠겨 있는 것이다. 로컬 사용자는 변경할 수 없다.

인터넷에서 가져온 파일 차단 해제(Zone 표식 제거)

파일 속성에서 차단 해제

  1. 파일을 마우스 오른쪽 클릭 → 속성 을 연다.
  2. 일반 탭의 차단 해제 체크 후 적용한다.
  3. 다시 열어 콘텐츠 사용 을 눌러 실행한다.

PowerShell로 일괄 해제

  
# 현재 폴더의 매크로 파일 일괄 차단 해제 Get-ChildItem -Path "C:\Work\Macros" -Include *.xlsm,*.xlam,*.xlsb -Recurse | Unblock-File 
  

대체 데이터스트림 수동 확인

  
# Zone.Identifier 스트림 존재 여부 점검 Get-Item -Path ".\report.xlsm" -Stream *
특정 스트림 제거
Remove-Item -Path ".\report.xlsm:Zone.Identifier"

  
주의 : 차단을 풀면 실행은 가능하나 출처 검증 단계가 줄어든다. 신뢰되지 않은 매크로는 실행하지 않아야 한다.

신뢰할 수 있는 위치(Trusted Locations) 추가

자주 사용하는 안전한 폴더를 신뢰 위치로 등록하면 해당 폴더의 매크로는 자동으로 허용된다.

  1. 보안 센터 설정 → 신뢰할 수 있는 위치 새 위치 추가 선택한다.
  2. 조직 표준 경로(예: C:\Company\ExcelAddins 또는 %ProgramFiles%\Company\XLA )를 지정한다.
  3. 하위 폴더 포함을 필요 시 체크한다.
주의 : 네트워크 공유 경로는 기본적으로 위험으로 간주된다. 네트워크 위치 허용 정책이 필요하며, 무분별한 공유 경로 등록을 금지한다.

디지털 서명과 신뢰할 수 있는 게시자

업무용 매크로는 코드 서명 인증서로 서명하여 배포하는 것이 최선이다. 서명 절차는 다음과 같다.

  1. 신뢰 가능한 코드 서명 인증서를 준비한다.
  2. VBA 편집기(Alt+F11) → 도구 → 디지털 서명에서 인증서를 선택하여 프로젝트에 서명한다.
  3. 사용자 PC에 해당 발급자의 루트·중간 인증서를 설치하여 체인을 신뢰하도록 구성한다.
  4. 엑셀에서 신뢰할 수 있는 게시자 목록에 게시자를 등록한다.
주의 : 인증서가 만료되면 서명 유효성이 상실된다. 갱신 인증서로 재서명하여 배포해야 한다.

보호된 보기(Protected View)와 파일 차단(File Block) 정책

  • 보호된 보기 는 인터넷에서도 온 파일, 잠재적 위험 위치 파일을 읽기 전용으로 연다. 안전이 확인되면 편집 사용 을 눌러 일반 모드로 전환한다.
  • 파일 차단 은 구형 형식( .xls 등) 실행을 제한한다. 레거시 매크로 파일은 최신 형식으로 변환하여 저장하는 것을 권장한다.

그룹 정책(GPO) 및 레지스트리로 강제된 경우

조직 환경에서는 보안 기준을 GPO로 강제한다. 로컬에서 바꿀 수 없다면 정책 원본을 점검해야 한다.

대표 레지스트리 키

값 이름 의미 권장
HKCU\Software\Microsoft\Office\16.0\Excel\Security VBAWarnings 0~4 범위의 매크로 정책이다 2(알림 후 비활성) 또는 서명 기반 정책을 권장한다
HKCU\Software\Policies\Microsoft\Office\16.0\excel\security 정책 동일 키 Policies 경로는 GPO가 우선한다 보안팀 기준에 따른다

레지스트리 명령 예시

  
# 알림 표시 후 매크로 비활성화(사용자 선택 허용) reg add HKCU\Software\Microsoft\Office\16.0\Excel\Security /v VBAWarnings /t REG_DWORD /d 2 /f
개발 환경에서만 일시 허용(주의 필요)
reg add HKCU\Software\Microsoft\Office\16.0\Excel\Security /v AccessVBOM /t REG_DWORD /d 1 /f

  
주의 : Policies 경로가 존재하면 로컬 키 변경으로는 동작이 바뀌지 않는다. 정책 해제 또는 수정이 필요하다.

OneDrive·SharePoint 동기화 파일 이슈

  • 클라우드에서 동기화된 파일은 출처 표식이 남을 수 있다. 위에서 설명한 차단 해제를 선적용한다.
  • 동기화 중에는 파일이 임시 잠김 상태가 되어 서명 검증이 실패할 수 있다. 동기화 완료 후 재시도한다.
  • 공유 링크로 연 뒤 데스크톱 앱으로 열었을 때는 읽기 전용일 수 있다. 로컬 신뢰 위치로 저장 후 실행한다.

네트워크 공유 경로(UNC) 신뢰 위치 정책

네트워크 경로는 기본적으로 신뢰되지 않는다. 조직 차원에서 다음을 검토한다.

  1. 보안 센터의 네트워크 위치 허용 정책을 활성화한다.
  2. 읽기 전용 공유 대신 배포 전용 서명된 추가기능( .xlam )을 로컬 캐시 폴더에 동기화하여 사용한다.
  3. 변경 관리 절차와 해시 검증을 도입한다.

시나리오별 해결 절차

시나리오 1: 이메일 첨부 .xlsm 이 실행 안 됨

  1. 파일을 바탕화면에 저장한다.
  2. 파일 속성에서 차단 해제를 체크한다.
  3. 필요 시 신뢰 위치로 이동하거나 콘텐츠 사용 버튼을 누른다.

시나리오 2: 외부 업체 매크로가 서명 오류

  1. 서명 인증서 유효기간과 발급자 체인을 확인한다.
  2. 루트/중간 인증서를 설치하여 체인을 신뢰한다.
  3. 가능하면 자사 서명으로 재서명된 버전을 배포받는다.

시나리오 3: 조직 PC에서 매크로 설정이 회색

  1. IT에 적용된 GPO 대상 OU와 정책 이름을 확인한다.
  2. 업무 예외가 필요한 경우 표준 요청 양식에 따라 예외를 신청한다.
  3. 예외 승인 시 정책에서 신뢰 위치 또는 서명 기반 허용을 설정한다.

시나리오 4: 구형 .xls 파일에서만 차단

  1. 파일 차단 정책을 점검한다.
  2. 가능하면 .xlsm 형식으로 변환 저장한다.
  3. 레거시 매크로 코드를 최신 참조로 교체한다.

시나리오 5: OneDrive 동기화 폴더의 자동화 통합문서

  1. 동기화 상태가 초록 체크인지 확인한다.
  2. 첫 실행은 로컬 신뢰 위치로 복사하여 테스트한다.
  3. 안전이 검증되면 해당 폴더를 신뢰 위치로 등록한다.

시나리오 6: 다수 파일 대량 차단 해제 필요

  1. 격리된 검증 환경에서 악성 여부를 검사한다.
  2. PowerShell Unblock-File 을 사용해 일괄 처리한다.
  3. 처리 내역과 해시를 기록하여 추적성을 확보한다.

개발·배포팀을 위한 베스트 프랙티스

  • 모든 프로덕션 매크로에 코드 서명을 적용한다.
  • 소스관리와 CI를 활용하여 빌드 시 자동 서명과 해시 산출을 수행한다.
  • 배포는 읽기 전용 네트워크가 아닌 검증된 로컬 캐시로 진행한다.
  • 사용자 권한은 최소화하고 신뢰 위치는 업무 단위로만 제한한다.

검증과 로그 점검

  • 윈도우 이벤트 로그와 엔드포인트 보안 로그에서 차단 이벤트를 확인한다.
  • 매크로 파일의 해시(SHA-256)를 산출해 배포 목록과 대조한다.
  
# 파일 해시 산출 Get-FileHash -Path ".\ReportAutomation.xlsm" -Algorithm SHA256 
  

자주 쓰는 명령어 모음

  
# 현재 사용자 프로필 아래 폴더를 신뢰 위치로 등록(관리자 배포 스크립트 예시 아님, 정책으로 관리 권장) $trustPath = "$env:USERPROFILE\Company\TrustedXlsm" New-Item -ItemType Directory -Force -Path $trustPath | Out-Null
차단 해제 후 이동
Get-ChildItem "$env:USERPROFILE\Downloads*.xlsm" | Unblock-File
Move-Item "$env:USERPROFILE\Downloads*.xlsm" $trustPath

  
주의 : 신뢰 위치 등록은 개인 단위 임시 조치로만 사용하고, 조직 배포는 GPO·MDM으로 중앙 통제하는 것이 원칙이다.

문제 재발 방지 체크리스트

항목 점검 내용 주기
코드 서명 유효 인증서로 서명, 만료 60일 전 갱신 월 1회
신뢰 위치 업무 단위 최소 경로 유지, 불필요 경로 제거 분기 1회
파일 출처 관리 인터넷 파일은 검증 후 저장, 차단 해제 이력 기록 상시
정책 일관성 GPO와 로컬 설정 불일치 여부 점검 분기 1회
교육 사용자에게 안전한 매크로 실행 절차 안내 반기 1회

FAQ

엑셀을 재시작해야 설정이 적용되는가

보안 센터 설정은 대부분 즉시 적용되나, 이미 열린 파일에는 적용이 지연될 수 있다. 설정 변경 후 파일을 닫았다가 다시 여는 것을 권장한다.

매크로 설정이 회색으로 잠겨 있다

그룹 정책 또는 MDM에서 강제된 상태이다. 로컬 사용자는 변경할 수 없다. IT 보안팀에 정책 예외 또는 서명 기반 허용 요청을 해야 한다.

Mac용 엑셀에서도 동일한가

개념은 동일하나 메뉴 구조와 보안 옵션 이름이 다르다. Mac 환경에서도 인터넷에서 받은 파일은 차단될 수 있으며 신뢰 경로와 서명 개념을 동일하게 적용한다.

Excel Online에서 매크로를 실행할 수 있는가

브라우저 기반 Excel Online은 VBA 실행을 지원하지 않는다. 데스크톱 앱에서 연다.

서명이 있는 매크로도 경고가 뜬다

발급자 체인이 신뢰되지 않거나 인증서가 만료된 경우이다. 루트·중간 인증서를 설치하고 유효 서명으로 다시 배포한다.

파일을 신뢰 위치로 옮겼는데도 비활성화된다

신뢰 위치가 네트워크 경로이거나 상위 정책에서 네트워크 신뢰가 차단됐을 수 있다. 로컬 신뢰 위치를 사용하거나 정책에서 네트워크 허용을 활성화해야 한다.