ExcelVBA 보호를 해제하는 방법

Excel VBA 보호란?



MS-Office에서는 VBA(Visual Basic for Applications)로 프로그래밍할 수 있습니다. 이렇게하면 다양한 기능을 확장 할 수 있지만 VBA에 암호를 설정할 수 있습니다. 비밀번호가 설정된 VBA 프로그램 코드는 더 이상 탐색하거나 변경할 수 없습니다. 이것은 VBE(Visual Basic Edtor)를 시작하고 도구(T) > VBAProject 속성(E) > 보호로 표시되는 다음 대화 상자에서 설정합니다.



이 비밀번호를 해제하는 방법에 대해 여러가지 조사했으므로, 메모로서 기사를 남겨 둡니다.

Excel VBA 암호를 해제할 수 있습니까?



결론으로 가능합니다. 또 보호해야 할 프로그램 코드나 리터럴은 암호화되어 있지 않기 때문에 해제할 수 없어도 어쨌든 내용을 읽어 버립니다. VBA의 비밀번호는 사용자가 실수로 내용을 변경하거나 하지 못하게 하는 풀프루프(안전대책) 정도의 역할을 할 수 없다고 생각해야 합니다.

왜 해제하고 싶습니까?



사람 각각 다양한 동기가 있는 것 같습니다.

사내에 오래된 응용 프로그램으로, 아무도 암호를 모른다.



많은 사람들이 이것으로 곤란한 것 같습니다.

VBS와 같은 외부 스크립트에서 조작하고 싶습니다.



VBA에 암호가 설정되어 있으면 CreateObject()를 사용하여 외부에서 액세스하려는 경우에도 제한이 걸립니다. 이것이 폐해가 되고 있는 경우도 있는 것 같습니다.

해제 방법 일람



처음에는 특정 객체에 비밀번호를 설정하는 VBA의 표준 메서드가 있다고 생각했지만 찾지 못했습니다. 그 반면, 여러가지 방법이 있는 것 같습니다.

바이너리 파일을 다시 작성하여 비밀번호를 사용하지 않도록 설정



엑셀 파일내에는 "DPB=" 라는 캐릭터 라인이 존재하고 있어, 이 뒤에 오는 캐릭터 라인이 암호화된 패스워드입니다. 이를 다시 쓰고 암호를 비활성화합니다. 또는 새 암호를 설정하는 방법입니다.
  • htp // d. 하테나. 네. jp/코지코지 0228/20100209/1265717104
  • htps // 코데다 y. Me / jp / Ku / 20190127 / 169259. HTML

  • SendKeys를 사용하여 암호를 자동으로 입력하는 방법



    키보드 동작을 API로 에뮬레이트하고 비밀번호를 자동으로 입력합니다. 미리 비밀번호를 알고 있는 것이 전제입니다.
  • htps // ㅁㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ 하테나 bぉg. jp/엔트리/20100526/p1

  • 비밀번호 평가 함수의 반환값 변경



    VBA는 암호로 보호 된 스크립트 등에 액세스 할 때 암호를 입력하는 대화 상자를 표시합니다. 그 함수의 반환값을 억지로 재기록해 통과시키는 기술입니다.
  • htps //w w. 사카 엔. 코 m / 오후 에세 / 에 x 세 l-v 바 빠스 ぉ rd 응 ck /
  • h tps : // s t c ゔ ぇ rf ぉ w. 코 m / 쿠에 s 치온 s / 1026483 / is s-te-re-a-y y-c-c-k-pe-Passu rd-on-an-e x-se lv bap 로지 ぇct/27508116#27508116

  • 요약



    Excel VBA의 암호를 해제할 수 있습니다. 그러나 VBA 자체가 메소드를 제공하는 것은 아니기 때문에 여러 가지 궁리가 필요합니다.

    이번에 저는 최종 납품물이 패스워드 보호된 엑셀 파일인 프로젝트에서 어떻게 버전 관리하고 언제 패스워드를 설정하는가 하는 문제를 해결하는 과정에서 해제 방법에 대해 조사했습니다. 비밀번호의 자동 설정에 대해서도 조사했으므로, 또 그 중 기사로 하고 싶습니다.

    좋은 웹페이지 즐겨찾기