【Excel】パスワードロックを強制的に解除する方法:Tech TIPS
Excelで、操作ミスなどによって値が書き換わらないようにシート保護を使って特定のセルを編集不可能にしたり、書き込みや読み込みに対してパスワードを設定したりすることはないだろうか。きちんとパスワードが管理されていれば問題ないが、前任者が設定したパスワードが分からなくなるといったことも起こりがちだ。そんなパスワードが分からなくなったシートのパスワードを解除する方法を紹介しよう。
対象:Excel 2013/2016/2019/2021/365
Excelのシートに設定したパスワードを忘れた場合の解除方法
操作ミスなどによって値が書き換わらないようにシート保護を使って特定のセルを編集不可能にしたり、書き込みや読み込みに対してパスワードを設定したりしたシートの肝心のパスワードが分からない、ということはないだろうか。自分で設定したものを忘れることもあれば、前任者が設定したまま退職してしまった、ということもあるだろう。そのような場合でも、パスワードを解除できる可能性がある。その方法を紹介しよう。
「Microsoft Excel(エクセル)」のシートは、既に作成したものをテンプレートとしてコピーして使うケースも多い。その際、操作ミスなどで入力して値が変更されないように、「シートの保護」機能で編集可能なセル以外をロックしている場合もある(「シートの保護」機能については、Tech TIPS「Excelシートの特定のセルを編集禁止にする」参照のこと)。
ただ、部署名や住所などが変更になるなど、何らかの理由からテンプレートとしているシートの保護しているセルを編集したくなることもある。その際、パスワードが分かればいいが、長くテンプレートとして使っているシートの場合、前任者が設定したため、パスワードが分からないということもあるだろう。
また、顧客データなど重要なデータの場合、改ざんや漏えいを防ぐため、読み取りや書き込みに対してパスワードで保護しているところもあると思う(パスワードによる保護については、Tech TIPS「Excelファイルのパスワードを設定、解除する方法」を参照のこと)。この場合、パスワードが分からなくなってしまうと、重要なデータが開けなくなり困ることになる。
こうしたシートやブックに付けられたパスワードが分からなくなった場合でも、「読み取りパスワード」以外であれば、比較的簡単な操作でパスワードの解除が可能だ。「読み取りパスワード」の場合は、条件はあるものの、ツールを使うことで解析してパスワードが解除できる可能性がある。その方法を紹介しよう。
「シートの保護」で付けたパスワードを解除する
「シート保護」で付けたパスワードが分からなくなった場合、パスワードを付けたXLSXファイルを念のためコピーしてバックアップを作成しておく。
オリジナルかバックアップのいずれかのXLSXファイルの拡張子を「zip」に変更し、エクスプローラーでこのZIPファイルの中を開いていく。XLSXファイルは、XMLで記述されたデータなどをZIP形式でアーカイブしたものであるため、拡張子を「zip」とすることで、ファイルの中身を見ることができる。
拡張子を「zip」に変更すると、XLSXファイルがZIPファイルに見えるようになるので、これをクリックしていき、[xl]−[worksheets]フォルダを開く。[worksheets]フォルダには、パスワードが付けられたシート(sheet1.xmlなど)が保存されているので、これをデスクトップにコピーする。
このXMLファイルを「メモ帳」アプリなどで開き、「sheetProtection」を検索、「<sheetProtection …… />」の部分を削除する。これを上書き保存して、[worksheets]フォルダに戻せばよい。
その後、拡張子を「zip」から「xlsx」に戻せば、パスワードが削除された状態となり、「シートの保護」で保護されていた部分も編集が可能になっているはずだ。
見積書など、入力が必要なセル以外は「シートの保護」機能によってロックしておき、不用意に書き変わらないようにすることがある。その場合、住所などが変更になったら、「シートの保護」をパスワードで解除し、編集可能にする必要がある。パスワードが分からなくなった場合の解除方法を紹介しよう。
「シートの保護」で付けたパスワードを解除する(3)
[xl]−[worksheets]フォルダを開く。xlsxファイルに複数のシートがある場合、このフォルダに「sheet1.xml」「sheet2.xml」といった具合に複数のxmlファイルが表示されるので、パスワードを解除したいシートに該当するxmlファイルをデスクトップなどにコピーする。
「シートの保護」で付けたパスワードを解除する(4)
「メモ帳」アプリなどでxmlファイルを開き、「<sheetProtection …… />」の部分を削除する。上書き保存した後、「sheet1.xml」を[xl]−[worksheets]フォルダに上書きする。
「書き込みパスワード」を解除する
「書き込みパスワード」が分からなくなった場合も、「シートの保護」のパスワードを解除するのと同様、XLSXファイルの拡張子を「zip」に変更し、[xl]フォルダの「workbook.xml」を編集すればよい。
「workbook.xml」をデスクトップなどにコピーし、「メモ帳」アプリなどで開き、「fileSharing」を検索、「<fileSharing …… />」の部分を削除する。これを上書き保存して、[xl]フォルダに戻せばよい。
その後、拡張子を「zip」から「xlsx」に戻せば、パスワードが削除された状態となり、「シートの保護」で保護されていた部分も編集が可能になっているはずだ。
「シートの保護」の場合と比べ、編集するXMLファイルや削除する文字列が異なる点に注意してほしい。
「書き込みパスワード」を解除する(1)
「書き込みパスワード」が設定されていると、シートを開くと、パスワードの入力が求められる。ここでパスワードを入力すると、読み書きが可能な状態でシートが開く。パスワードが分からない場合、[読み取り専用]ボタンをクリックすることで、読み取り専用(編集が不可)の状態でシートを開くことができる。
「書き込みパスワード」を解除する(3)
「メモ帳」アプリなどでxmlファイルを開き、「<fileSharing …… />」の部分を削除する。上書き保存した後、「workbook.xml」を[xl]フォルダに上書きする。「zip」に変更した拡張子を、「xlsx」に戻せば、「書き込みパスワード」が解除された状態となる。
「読み取りパスワード」を解除する
「読み取りパスワード」を設定している場合、XLSXファイル全体が暗号化されるため、拡張子を「zip」に変更しても、ファイルの中身が確認できない。そのため、「シートの保護」や「書き込みパスワード」の場合と異なり、XMLを編集してパスワードを削除するという手段が使えない。
「読み取りパスワード」を忘れてしまった場合、パスワード解除ツール/サービスを使うことで、パスワードを解除できる可能性がある。
「Excel パスワード解除」などのキーワードで検索を行うと、解除ツールやサービスが幾つか見つかる。本稿では具体的なツール/サービスについては触れないが、「読み取りパスワード」が付けられたXLSXファイルの解析を試みたところ、3桁程度の短い数字だけのパスワードならば2分程度で解析できた。桁が多くなるにつれて解析時間がかかるようになる点には注意してほしい。
パスワードが解析でき、「読み取りパスワード」を設定したシートが開けるようになったら、すぐにパスワードを削除しておくとよい。[ファイル]−[情報]−[ブックの保護]をクリックし、メニューの[パスワードを使用して暗号化]を選択、[ドキュメントの暗号化]ダイアログが表示されるので、設定しているパスワード(「●」で示される)を削除し、[OK]ボタンをクリックすると、パスワードを削除できる。
「読み取りパスワード」を解除する(3)
[ドキュメントの暗号化]ダイアログが表示されるので、「パスワード」欄に設定されているパスワードを全て削除し、[OK]ボタンをクリックする。[上書き保存]を選択し、上書きを行えば、「読み取りパスワード」が解除された状態で保存される。
パスワードの設定や管理に注意
このようにExcelの「シートの保護」「書き込みパスワード」で設定したパスワードは意外と簡単に解除できてしまうので、過信しないように注意が必要だ。
一方、「読み取りパスワード」については、XLSXファイル全体が暗号化されるため、上述のような方法では解除できない。ただし、単純なパスワードであれば、「読み取りパスワード」でも解除できる「パスワード解除ツール/サービス」が出回っている。
こうしたツールやサービスは、よく使われるパスワードの辞書を使って順番に入力したり、順番に数字やアルファベットを総当たりで入力したりして解除を試みるものだ。Excelのパスワードアルゴリズムを解析しているわけではないので、パスワードの桁数が多く、かつ英数の複雑な組み合わせだと、解析に時間がかかり、事実上、パスワードの解除が行えないので注意してほしい。
Excelファイル内の大事なデータをパスワードで守るのであれば、十分な桁数と複雑性を確保した読み取りパスワードを付け、パスワードを忘れないようにするのが重要だ。
Copyright© Digital Advantage Corp. All Rights Reserved.