컴퓨터일반

호환 모드 끄기

haema_ 2024. 1. 24. 16:12
728x90

문제

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파일을 통해 레지스트리 편집과 호환성 탭 내 체크박스와의 상관관계를 확인한 것이다.

아무 설정도 안 된 상태

 

이것저것 체크해본다
레지스트리에 값이 생성되는 것 확인
레지스트리 편집기에서 값을 삭제하고 다시 해당 exe 속성을 보면?

 

 

알아서 체크가 해제되어 있는 것을 확인할 수 있다.

 

 

 

 

 

이와 반대의 경우로 특정 파일 실행 시 호환 모드를 설정하고 싶은데 호환성 탭이 없는 경우 마찬가지로 해당 경로에 레지스트리 값을 직접 넣어주어도 된다.

필요한 설정의 정확한 입력값은 상황에 따라 추가로 자료를 조사하여 입력해주면 된다. 

임의의 값을 직접 레지스트리 편집기에 입력해본다.
해당 옵션이 체크되어 있는 것을 확인할 수 있다.

 

반응형

'컴퓨터일반' 카테고리의 다른 글

엑셀에서 중복 제외 집계하기  (1) 2024.02.13