とあるエクセルファイルのお話。
シートを保護してパスワードをかけ、不用意に他人が書き換えられないようにしていました。
そのファイルを、久しぶりに書き換えようと思ったところ、シート保護を解除するためのパスワードを忘れてしまい、さらにはパスワードを書いたメモも残っていない。
…そんな状況で、何とかならないか!と駆け込まれたのが、今回のヘルプ依頼。
幸い、ファイルを開く際のパスワード保護はかかっていなかったので、何とかしてみようと思います。
ちなみに、作業に失敗するとエクセルファイル自体が壊れてしまう可能性がありますので、バックアップを取ったうえで、作業は自己責任で。
大まかな手順
ここで説明する手順は、「シートの保護」をしている場合のパスワードを解除する方法です。「ブックの保護」でのパスワード解除は、やり方が違いますのでご注意を。
大まかな手順としては、以下の通り。
- 拡張子をzipに変更して、「シートの保護」をしているワークシートファイルを取り出す
- ワークシートファイルをテキストエディタで開き、パスワードを設定しているタグを削除する
- 取り出したワークシートファイルを元のワークシートファイルに上書きし、拡張子をxlsxに戻す
Excel2007以降のファイル(.xlsx)は、拡張子を.zipに変えれば通常のZIP書庫として操作できますので、ワークシートファイルを解凍してテキストエディタで直接書き換えることで、パスワードを解除してしまえるのです。
詳細な手順
詳細というほど詳細ではありませんが、以下にパスワードを解除する手順を。
拡張子をzipに変更する
パスワードを解除したいワークシートが入っているエクセルファイルの拡張子を.zipに変更します。
拡張子を変更するには、ファイルを選択した状態でキーボードの「F2」キーを押して、ファイル名変更モードへ。
マウス操作する場合は、ファイルを右クリックし「名前の変更」。Windows11の場合は、ファイルを右クリックした後のポップアップの一番上にあるアイコンから「A|」みたいなアイコンだったかな。
ZIP書庫からワークシートを探す
拡張子を.zipに変更したら、ファイルを右クリックして「プログラムから開く」→「エクスプローラー」で書庫を開く。特に解凍用ソフトなどを入れていなければ、ダブルクリックでも開けると思います。
下の画像のように辿っていき、sheet1.xmlファイルを右クリックしてコピー、デスクトップ等作業スペースにペースト(貼り付け)します。
上の例ではワークシートが3つあります。sheet1.xmlは1番目のワークシートなので、2番目の場合はsheet2.xml、3番目の場合はsheet3.xmlとなります。
シート保護用パスワードを削除
作業スペースにペーストしたファイルを、テキストエディタ(Windows標準のメモ帳でも可)で開きます。
「sheetProtection」というキーワードで検索し、このタグをまるまる(<から始まって、/>で終わるところまで)削除して上書き保存します。
保存したワークシートファイルを、先ほどのZIP書庫に上書きコピーします。
拡張子をxlsxに戻す
最後に、ZIP書庫の拡張子をxlsxに戻したら作業完了です。Excelで読み込んでみましょう。
確認
ファイルによっては下記のようなエラーメッセージが表示されると思いますが、そのまま修復でOK。
作業に失敗していなければ、無事にパスワードが削除されていると思います。
ちなみに、ブック保護で設定したパスワードを解除する場合は、workbook.xmlを開いて「workbookProtection」タグをまるまる削除すれば行けるようです。
ということは、基本的に、パスワード保護に関連する指定は「Protection」という名前のついたタグなのかもしれません。
さいごに
この作業の結果は、Office2021(Excel2021)で確認しています。実際に自分で作業してみた手順を、そのまま記事にしていますので、同じバージョンであれば問題なくできると思います。
ですが、もう一度書きますが、この作業は必ずバックアップを取ったうえで、自己責任で行ってください。そして、うまくできなかったら諦めてください。
以上、エクセルファイルのシート保護パスワードを解除する方法でした。お疲れ様でした!
コメント