Excelのシート保護パスワードを忘れた場合の解除方法
たま~にやってしまうエクセルファイルのシート保護のパスワード忘れ。パスワードが分からないと保護された部分の編集などができずに困ることがあります。
今回は、緊急時に備えてこれを強引に解除する方法を紹介したいと思います。
シート保護パスワード設定済みエクセルファイルを確認
実験用にエクセルファイルを一つ用意しました。
中央の灰色のセルにロックを設定してシートの保護設定をパスワード付きとしました。
従ってパスワードを入力して、シートの保護を解除しないと灰色のセルの編集はできない状態です。それ以外の白いセルは通常セルなので変更可能です。

ロックされている灰色セルを編集しようとすると、このようにメッセージが表示されて編集できない状態です。ちゃんと保護が有効になっています。

シート保護パスワードを無効化手順
エクセルファイルの内部を覗く
それでは、いよいよパスワード無効化してシート保護を解除しようと思います。
今回の無効化対象ファイルはこちら。

昔のエクセルファイルはバイナリでしたが、Excel2007以降の拡張子がxlsxのファイルって、実はXMLの集合体をZIP形式で圧縮したものなのです。
よって、拡張子をxlsxからzipに変更します。
アーカイバーソフトによってはそのままでもZIPファイルとして認識して動作するため拡張子変更はマストではありませんが、今回はWindows標準でやるため拡張子を変更しています。

ZIPファイルにしたら、エクスプローラーの圧縮フォルダーツールを使ってすべて展開します。
ちなみに緑枠のファイル群がエクセルファイルの中身です。

ZIPファイルの中身を展開する先を指定します。作業しやすいフォルダを選んでください。

ZIPファイルを展開すると、このようなファイルが出てきます。シートのファイルはxlフォルダの奥のほうにありますので、中に入っていきましょう。

xlフォルダの中にworksheetsフォルダがありますので、この中に入ります。

シート保護定義を消す
ここにエクセルワークシートの中身のデータがXML形式で保管されています。対象のシートをメモ帳で開きます。

メモ帳で開いたら、次のキーワードで検索します。
sheetProtection
シート保護がセットされているシートであれば次のようにヒットします。この部分がシートの保護に関する設定箇所です。
ちなみにパスワードはハッシュで保存されています。難しいパスワードがセットされていた場合は解析にかなりの時間を要しますので、今回はやりません。

このSheetProtectionタグをまるっと削除したら、保存します。

エクセルファイルに戻す
保存したら、再度ZIP形式で圧縮します。次のように実行すればOKです。注意点が一つあり、ZIP化する時のフォルダ階層を間違えるとブックが壊れた状態になってしまいエクセルで開けなくなります。
下の画面のようにフォルダとファイルを全選択した状態でZIP圧縮する点に注意してください。

ZIPファイルが作成できたら、さっきとは逆に拡張子をzipからxlsxに変更します。これでエクセルファイルの完成です。

シート保護解除できたか確認
さあ、エクセルで開いてみましょう。すると、さきほどロックされていたセルが編集可能になっていますね。これでシート保護をパスワードなしで解除したことになります。

ちなみに再度シートを保護する場合は、普通の手順でセットします。以前のパスワードは分からないので、新しいものをセットすることになります。

それではまた!
コメント