他の人が作ったVBAを開こうとした際、VBAにパスワードが掛けられて見れないようになっている事があると思います。
もしくは自分で組んだVBAだったとしてもパスワードを忘れてしまって開くことが出来なくなってしまうケースもあるでしょう。

そんな時にはこの方法を使えばパスワードロックが掛けられてない状態にすることが出来ます。
その他のエクセルに関するパスワード解除方法についてはこちらも参照してみてください。


バイナリエディタを用意する
この操作をするためにはバイナリエディタを使って「.bin」というファイルを開く必要があります。多くの場合このソフトはパソコンに入っていないと思いますので、先にダウンロードしておきましょう。
「バイナリエディタ」などで検索すると出てきます。
窓の杜
拡張子を「.zip」に変更する
まずは該当のエクセルファイルをコピーしてバックアップを取っておいてください。この後の操作で失敗すると開くことが出来なくなってしまう可能性があります。
1.下図のようにエクセルファイルの拡張子を「.xlsm」から「.zip」に変更する

2.下図のような警告画面が出ますので「はい」をクリックします。

3.するとエクセルファイルが「.zip」ファイルに変わります。

zipファイルから「vbaProject.bin」ファイルを取り出す
1.上で作成した「.zip」ファイルをダブルクリックして開き、「xl」というフォルダを開きます。

2.「vbaProject.bin」ファイルを別の場所にコピーする

「Ctrl」キーを押しながらドラッグすることでコピーすることが出来ます。
「vbaProject.bin」ファイルを加工する
ダウンロードしておいたバイナリエディタで「vbaProject.bin」を開く

ReadOnlyにチェックが入っている場合はクリックしてチェックを外しておく

「DPB」で検索をする

「DPB」の中の文字を何か一つ別の文字に置き換える。
1文字選択した状態で何か文字のキーを押せばOKです。

「vbaProject.bin」を上書き保存して閉じます。

「vbaProject.bin」ファイルを元の「.zip」ファイルフォルダに戻す

「コピーして置き換える」をクリックする

エクセルを開く
加工していた「.zip」ファイルの拡張子を「.xlsm」に戻す

加工していたエクセルファイルを開く

エクセルを開くと以下の様なエラーメッセージが表示されます。先ほど文字を変えた名前が「不正なキー」として表示されていればOKです。

ここで違う文字列のエラーが表示されたらどこかで間違えている可能性が高いので、エクセルを上書き保存せずに初めからやり直してください。
エクセルを開くとVBAパスワードが解除されて、モジュールが開ける状態になっています。

VBAが問題なく開けるようになったことを確認したら、「上書き保存」してエクセルを閉じます。



コメント