소스에 간단한 문제인줄 알고 다른 소스로 해결하려했으나 한정적인 기능탓에 더 간략한 소스를 찾을 수 없었고 결국 사용하기위해 해법을 찾아야만 하는 상황이었다.
우선 오피스 제품을 삭제하고 재설치 해보았다. 단순히 프로그램 추가제거를 통해 제거하고 재설치했지만 결과는 그대로였다.(결론부터 이야기하면 레지스트리에 남아있는 정보가 원인이다. 이때 레지스트리까지 완전히 날렸으면 이렇게 멀게 돌아오지 않아도 되었을텐데..)
그다음 혹시 인터넷 임시폴더에 엑셀 자료가 남아있어서 서로 충돌되나 싶어서 임시파일도 샅샅이 찾아봤지만 관련 파일을 지워내도 문제는 그대로였다.
포기하고 기존사용하던 2010버젼을 포기하고 새로나온 2016을 설치해보니 어라? 잘 된다.
하기야 그전에 집에 PC가 두대있는데 데스트탑만 문제가 발생된걸로 보아 시스템 설정이 꼬인거라는 확신이 들긴했었다. 그렇게 버젼업을 하니 해결되길래 이참에 2016을 한번 써보자 싶었는데,
방금 특정한 상황을 만들기 위해 이것저것 눌러보다가 같은 1004 런타임 오류가 발생되었다. FTP서버에 저장되는 방식을 활용하기에 인터넷 주소창에 직접 FTP서버를 열어 엑셀 파일을 열었는데 그 이후 그 서버의 엑셀파일은 기록이 안되는 문제가 발생되었다.
이때 혹시나싶어서 레지스트리에서 내 FTP주소를 검색해보니 오피스에서 각각 2건이 발견되었다. DrawAlerts라는 폴더에 FTP 사이트가 등록되어 있었는데 경고라는 단어를 보니 아마도 엑셀에서 FTP주소를 차단했기 때문에 저장이 안되는것 같았다.
바로 FTP주소를 날리고(지우고) 다시 엑셀 파일을 테스트해보니 언제 1004 런타임 오류가 발생했냐싶을만큼 잘~ 작동된다. 엑셀 보안관련 메뉴에도 위 사이트가 차단되었다는 정보도 없고 참 허술하다는 생각이 들었다. 엑셀 VBA 조합이면 운영체제도 만들수 있을줄 알았는데 이런 불편함이 있을줄이야.. 이참에 마소 고객센터에 한번 문의해봐야겠다.
한줄 요약, 엑셀 VBA에서 1004 런타임 오류는 결국 경로저장에 문제였고 해결방법은 레지스트리에서 FTP를 차단했던 DrawAlerts 정보를 지워주면 해결되는 간단한 문제였음..
▷ 혹시나 한글이 포함된 파일명때문에 1004 런타임 오류가 발생되나 싶어서 숫자로만 저장을 해봐도 문제는 해결되지 않았다.
▷ 문제의 원인이 되었던 익스플러 창에서 FTP파일을 직접 불러오는 화면.
익스플러에서 FTP 주소를 입력하고 바로 열고난뒤 그 사이트는 자동으로 차단이 되었다.
▷ 레지스트리(실행→regedit)를 실행해서 DrawAlerts를 검색해서 하단에 등록된 FTP사이트 주소를 지워내면 된다.
댓글 없음:
댓글 쓰기