늘 자신을 설레게 하는 쪽으로

엑셀 레지스트리 충돌 본문

아는 것이 힘!

엑셀 레지스트리 충돌

킴토끼 2021. 11. 5. 12:03

 

microsoft.office.interop.excel.applicationclass' 형식의 com 개체를 인터페이스 형식 'Microsoft.Office.Interop.Ecel._Application'(으)로 캐스팅할 수 없습니다... 블라블라~ 오류.

 

 해결 후 기쁜 마음에.. 해결하자마자 기록용 글을 쓴다.

 

 회사에 10년전부터 사용한 구소스라는게 있는데, 이 소스로 만들어진 exe 파일에 들어가서 프린트를 실행하면 항상 충돌이 났다. 슬슬 구소스를 만져야하는 단계에서 충돌이 나니 원. 어쩌겠어. 구소스도 배우려면 해결방법을 찾아 작동되도록 만들어놔야지.

 그래서 한참 검색하고 검색하고.... 나와 같은 오류가 났다가 해결했다는 블로그 글은 거진 다 읽은 것 같다.

 

 아무튼 결론은 지금 쓰고있는 엑셀버전보다 상위버전의 찌꺼기 데이터가 남아있으면 충돌이 난다는 것이다.

내 경우 예전에 엑셀이 제대로 작동되지 않아 삭제했다가 새로 설치하고 삭제하고 다시 설치하고를 반복했던 적이 있는데, 이때 상위버전을 깔았던 적이 있었던 것 같다. 아마도 2016버전...?

 

 아무튼 저 엑셀의 상위버전 레지스트리를 찾아 지워서 충돌을 해결하려고

"000208D5-0000-0000-C000-000000000046 " 번호를

시작-> 실행-> regedit-> HKEY_CLASSES_ROOT-> TypeLib-> {000208D5-0000-0000-C000-000000000046}

저 경로에서 한참 찾았으나, 실제로 저 번호를 찾는건 소용이 없었다.

왜냐면 저 번호가 없었기 때문에....

 

 이때 나는 저 번호를 찾아야한다는 강박관념에 빠져있었는데.... 답은 그게 아니었다.

 

 전체검색을 해봐도 다른 경로에 있었고, ... 그러나 거기는 버전을 볼 수 있는 구역(?)이 아니었고...

결국 동기의 컴퓨터도 빌려서 저 경로의 00020... 으로 시작하는 레지스트리의 버전을 비교해보았다.

 

 

이렇게... 동기의 경우는 1.8, 1.8, 8.6버전만 있었는데 내 경우에는 오른쪽 사진처럼 1.8버전 밑에 1.9버전이 추가로 있었다. 그래서 상위 버전들을 다 지우고 동기랑 똑같이 버전을 맞춰주었더니 정상적으로 런처에서 엑셀이 열렸다.

 

역시... 잘되는 컴퓨터랑 비교하는게 최고!