Excelで、操作ミスなどによって値が書き換わらないようにシート保護を使って特定のセルを編集不可能にしたり、書き込みや読み込みに対してパスワードを設定したりすることはないだろうか。きちんとパスワードが管理されていれば問題ないが、前任者が設定したパスワードが分からなくなるといったことも起こりがちだ。そんなパスワードが分からなくなったシートのパスワードを解除する方法を紹介しよう。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
対象:Excel 2013/2016/2019/2021/365
「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」に戻せば、パスワードが削除された状態となり、「シートの保護」で保護されていた部分も編集が可能になっているはずだ。
「書き込みパスワード」が分からなくなった場合も、「シートの保護」のパスワードを解除するのと同様、XLSXファイルの拡張子を「zip」に変更し、[xl]フォルダの「workbook.xml」を編集すればよい。
「workbook.xml」をデスクトップなどにコピーし、「メモ帳」アプリなどで開き、「fileSharing」を検索、「<fileSharing …… />」の部分を削除する。これを上書き保存して、[xl]フォルダに戻せばよい。
その後、拡張子を「zip」から「xlsx」に戻せば、パスワードが削除された状態となり、「シートの保護」で保護されていた部分も編集が可能になっているはずだ。
「シートの保護」の場合と比べ、編集するXMLファイルや削除する文字列が異なる点に注意してほしい。
「読み取りパスワード」を設定している場合、XLSXファイル全体が暗号化されるため、拡張子を「zip」に変更しても、ファイルの中身が確認できない。そのため、「シートの保護」や「書き込みパスワード」の場合と異なり、XMLを編集してパスワードを削除するという手段が使えない。
「読み取りパスワード」を忘れてしまった場合、パスワード解除ツール/サービスを使うことで、パスワードを解除できる可能性がある。
「Excel パスワード解除」などのキーワードで検索を行うと、解除ツールやサービスが幾つか見つかる。本稿では具体的なツール/サービスについては触れないが、「読み取りパスワード」が付けられたXLSXファイルの解析を試みたところ、3桁程度の短い数字だけのパスワードならば2分程度で解析できた。桁が多くなるにつれて解析時間がかかるようになる点には注意してほしい。
パスワードが解析でき、「読み取りパスワード」を設定したシートが開けるようになったら、すぐにパスワードを削除しておくとよい。[ファイル]−[情報]−[ブックの保護]をクリックし、メニューの[パスワードを使用して暗号化]を選択、[ドキュメントの暗号化]ダイアログが表示されるので、設定しているパスワード(「●」で示される)を削除し、[OK]ボタンをクリックすると、パスワードを削除できる。
このようにExcelの「シートの保護」「書き込みパスワード」で設定したパスワードは意外と簡単に解除できてしまうので、過信しないように注意が必要だ。
一方、「読み取りパスワード」については、XLSXファイル全体が暗号化されるため、上述のような方法では解除できない。ただし、単純なパスワードであれば、「読み取りパスワード」でも解除できる「パスワード解除ツール/サービス」が出回っている。
こうしたツールやサービスは、よく使われるパスワードの辞書を使って順番に入力したり、順番に数字やアルファベットを総当たりで入力したりして解除を試みるものだ。Excelのパスワードアルゴリズムを解析しているわけではないので、パスワードの桁数が多く、かつ英数の複雑な組み合わせだと、解析に時間がかかり、事実上、パスワードの解除が行えないので注意してほしい。
Excelファイル内の大事なデータをパスワードで守るのであれば、十分な桁数と複雑性を確保した読み取りパスワードを付け、パスワードを忘れないようにするのが重要だ。
Copyright© Digital Advantage Corp. All Rights Reserved.