パスワードを忘れた問題

日記再開とか言って気が付いたら1週間以上経っていましたよね。怖い。

Excelvbaパスワードって忘れることがよくあります。ありますよね?(ゴリ押し)
今日もおそらく私が設定したであろうパスワードで、vbaが開けないExcelファイルが発見され、仕方がないので解除方法を調べました。
完全に自己責任、ファイルが開けたらいいね、ぐらいの気持ちでお試しください。
ファイルが壊れても、責任は一切取れません。ちなみに2010です。

  1. 元のファイルのバックアップ(ファイルが壊れたとき用です。絶対取ってください。)
  2. ファイルの拡張子をzipに変更(test.xlsm → test.zip)
  3. zipファイルを解凍
  4. 解凍したフォルダ内に「xl」フォルダがあると思います。その中にあると思われる「vbaProject.bin」をバイナリエディタで開きます。
  5. 「DPB="〜〜〜〜"」みたいな箇所を探して(最後の方かも)、「DPB」→「rPB」になるように変更して保存
  6. 解凍フォルダ内のフォルダ・ファイルをすべて選択してzipに圧縮(test2.zip)
  7. できたzipファイルの拡張子をxlsmに変更(test2.zip → test2.xlsm)
  8. test2.xlsmを開き、VisualBasicを開きます。色々エラーが出るかもしれないが無視します。
  9. 関連モジュールをすべてエクスポート
  10. test2.xlsmを「名前を付けて保存」でxlsx形式に変更(test2.xlsm → test2.xlsx)
  11. いったん閉じます。(閉じないとパスワードが復活します。)
  12. test2.xlsxを開きます。
  13. VisalBasicを開き、先ほどエクスポートしたモジュールをすべてtest2.xlsmと同じ状態に戻します。(SheetやWorkbookのモジュールをインポートするとクラスモジュールになるのでその辺はいい感じに戻します。)
  14. 「名前を付けて保存」でxlsm形式に変更(test2.xlsx → test2.xlsm)

おしまい!


参考URL
https://ameblo.jp/ibik/entry-10016438187.html
http://blog-imgs-73.fc2.com/v/m/w/vmware/20150502171423ed5.txt
https://ameblo.jp/shsmta/entry-10427720714.html