通常の操作では、書き込み禁止の制限やVBA表示の禁止などのパスワードは分からなければ色々な操作ができません。
忘れてしまった時などに、この裏技で、それを解除することができます。
基本的にExcelファイルは汎用性が高いXMLというマークアップ言語で出来上がっています。
その中のパスワードに関する記述を削除するとパスワードを解除することができます。
適当なファイルを作成し、シートにパスワードをかけて解除してみます。
「シートの保護」を選択します。
パスワードを入力してロックをかけます。
シートの保護がかけられると以下のようになります。
適当に名前を付けて、このエクセルファイルを保存します。
保存したエクセルファイルの拡張子に「.zip」を付け加えます。
→
zip圧縮の拡張子に変更したエクセルファイルをダブルクリックして開きます。
「xl」フォルダを開きます。
「worksheets」フォルダを開きます。
「sheet1.xml」をつまんでデスクトップへコピーします。
メモ帳で「sheet1.xml」を開きます。
開いた文書中から「sheetProtection」の文字を検索します。
<shhtProtection ~ /> までを選択して削除します。
以下のように削除されたファイルを上書き保存します。
保存された「sheet1.xml」を開いたzipファイル内へ上書きして戻します。
→
上書きしたら、zipの窓を閉じて「SheetLock.xlsx.zip」を「SheetLock.xlsx」へ変更します。
→
エクセルファイルを開くと下図のように「シートの保護」に変わっていてロックが解除された事がわかります。
「シートの保護」以外にも「ブックの保護」とエクセルファイルの「書き込み禁止」を解除することができます。
ただし、ファイルをダブルクリックするといきなりパスワードを聞いてくるエクセルファイルの「読み込み禁止」を解除することはできません。
「ブックの保護」の解除は上記のやり方と同じですが、記述を削るファイルが違います。
エクセルファイルのzipファイルの「xl」フォルダの中にある「workbook.xml」を編集します。
「workbookProtection」の列を選択して前回同様に削除して上書き保存します。
「書き込み保護」につきましては、上記の「workbook.xml」内にある「fileshare」を検索して、その列を削除すれば、書き込み保護を解除することができます。