티스토리 뷰

엑셀파일의 VBA 프로젝트에 비번이 걸어놓고 까먹었을 경우에

해제하는 방법을 알아보자.

나는 Excel 2016을 사용했다.


1. 준비물

이번 시간엔 준비물이 두개 필요하다.

둘다 프리웨어로 부담이 없이 사용 가능하다.


(1) 반디집: 압축 및 압축해제 유틸

http://kr.bandisoft.com/bandizip/


(2) HxD: Hexa Editor

홈페이지: https://mh-nexus.de/en

다운로드페이지: https://mh-nexus.de/en/downloads.php?product=HxD20


2. 엑셀 파일의 복사본을 만들어 놓자. 혹시나 모를 상황에 대비!


3. 복사본의 엑셀파일의 xlsm 확장자를 zip확장자로 바꾼다.

변경하는 방법은.. 그냥 확장자 이름을 바꿔버리면 된다


4. zip파일을 열면 다음과 같은 폴더들이 보인다. 여기서 xl 폴더를 들어가보자.


5. 아래 보이는 vbaProject.bin 파일만 압축해제 한다.


6. 헥사 에디터로 vbaProject.bin을 열고 아래와 같이 'DPB' 란 텍스트 문자열을 찾는다.


7. DPB를 찾았다면 B부분을 x로 변경 후에 저장한다.

(DPB만 아니면 되기에 x말고 다른 문자열을 넣어도 무관하다.)


20.12.10 참고

확인한 바에 의하면 파일 버전이 두개가 생겼는데

기존에 사용하던 버전은 DPB로 검색했을때 DPB="OOOOO" 이런식으로 한개만 검색이 되었었다.

이 경우에는 아래의 방식으로 변경이 가능하지만,

DPB를 검색했을 때 여러개가 검색되는 경우는 아래의 방법이 정상적으로 동작하지 않는다.




8. 다시 Zip 파일을 열고 xl폴더 안에 있는 vbaProject.bin 파일을 새로 저장한 파일과 바꾼다.

(반디집에서는 파일삭제, 파일추가 버튼을 눌러서 해결한다)


9. .zip 확장자를 .xlsm 파일로 다시 변경한다.


10. 변경한 파일을 실행하면 아래와 같은 창이 하나 뜨는데 Yes버튼을 누른다.



11. Alt+F11 버튼을 눌러 VBA 창을 연다.


12. 도구 메뉴 - VBAProject 속성을 눌러 속성창을 열고, 보호탭에서 새로운 비번을 입력한다.




13. 파일을 저장하고 다시 연 후에 VBAProject를 열어서 새로운 비번을 입력하면 OK!


댓글