문제
EXCEL 실행 시
'호환 모드가 설정되어 있어서 이 프로그램을 실행할 수 없습니다.
호환 모드를 해제한 다음 다시 시도하십시오.'
라는 문구와 함께 excel파일을 실행할 수 없는 상황
원인
구체적인 원인은 파악이 어려움.
개인적인 추측으로는 엑셀, 워드, 파워포인트 등의 프로그램은 자체적으로 판단하여 특정 버전에서 작성된 문서에 대한 호환 기능을 제공하도록 설계되어 있는 것 같다.
엑셀에서는 운영 체제가 제공하는 호환성 설정이 되어 있지 않아도 2013이후 버전에서 구형 .xls 확장자 파일을 열면 위에 [호환 모드] 등의 표시가 뜬다.
만약 Office 프로그램에 운영 체제에서 제공하는 호환성 설정을 적용하게 되면 Office에서 제공하는 자체 호환 모드와 충돌하기 때문에 막아놓은 듯하다.
만약 사실이라면 Windows나 Office나 둘다 Microsoft껀데 왜 그렇게 만들어놨는지는 도무지 모르겠다.
어디까지나 추측이고, 타당한 이유가 있을 것 같기도 해서 조금 더 생각해볼 여지는 있을 것 같다.
일단 해결은 해야 하니, 운영체제를 통한 호환 모드로 실행되는 설정을 해제하는 방향으로 해결해본다.
해결 방법 1
EXCEL.EXE 실제 실행 파일 ex) C:\Program Files\Microsoft Office\~ 와 같은 경로에 있는 파일
우클릭-속성
호환성 탭에서 체크 되어있다면 전부 해제
모든 사용자에 대한 설정 변경 눌러서 확인 후 체크 되어있다면 전부 해제
해결 방법 2 (EXCEL.EXE 속성에 호환성 탭이 없는 경우)
다른 exe에서는 보이는 호환성 탭이 엑셀, 파워포인트, 워드 등에만 안 보이는 경우도 있다.
호환성 탭의 체크박스 조작은 결국 레지스트리에 특정 값을 넣어주는 행위이기 때문에 호환성 탭이 보이지 않는 경우 레지스트리를 직접 조작해 체크를 해제하는 것과 같은 효과를 낼 수 있다.
시작 - regedit (레지스트리 편집기 실행)
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers (해당 사용자의 설정)
또는
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers (모든 사용자에 대한 설정)
해당 경로에서 EXCEL에 대한 특정 값이 있으면 우클릭-삭제
(이름에 엑셀의 실제 위치 ex)C:\ProgramFiles\Microsoft Office\Office~\EXCEL.EXE 인 레지스트리 값이 있다면 지워주면 된다.)
아래의 스크린샷은 호환성 탭이 보이는 다른 exe파일을 통해 레지스트리 편집과 호환성 탭 내 체크박스와의 상관관계를 확인한 것이다.
이와 반대의 경우로 특정 파일 실행 시 호환 모드를 설정하고 싶은데 호환성 탭이 없는 경우 마찬가지로 해당 경로에 레지스트리 값을 직접 넣어주어도 된다.
필요한 설정의 정확한 입력값은 상황에 따라 추가로 자료를 조사하여 입력해주면 된다.
'컴퓨터일반' 카테고리의 다른 글
엑셀에서 중복 제외 집계하기 (1) | 2024.02.13 |
---|