Excelの「外部リンクエラー」で困っている方に向けた前回記事の方法を試したけど「ブレイクリンク」できなかった方に向けて、強制解除する方法を解説します!
前回記事はこちらを参照してください
はじめに
Excelの「外部リンクエラー」って本当に面倒ですよね(^^;
少しリスキーだけど、バックアップを取りながらやってみれば意外と簡単にできるかもしれません。Excelファイルの作りがどうなっているのかも確認できます。是非試してみてください
この記事は「どうやっても解除できない外部リンク」を強制削除する方法について解説していきます。「リンクエラー」に悩まされている方は是非ご覧ください
・リンクを解除しようとしても下の画像のようになる! こういうやつです↓
Excelファイルの中身を分解して確認する
・Excelファイルの中身を分解して強制的に解除してしまう方法なので、自己責任でお試しください
・そしてお約束! 実行する前に必ずバックアップを忘れずに行ってください!
事前説明
・実はExcelファイルの中身はXMLファイルの集まりが圧縮されています
・拡張子が「.xlsx」や「.xlsm」のファイルなら zip解凍で中身のXMLファイルを確認できます
・Excel2007以前のエクセルは拡張子が「.xls」でバイナリ形式で保存されていました
※この仕様は「Office Open XML」として国際標準化されていますので確認してみてください
確認方法
バックアップしてZIP化する
・確認する前に先ずはバックアップしてくださいね(^^)ファイルをコピーすればよいでしょう
・対象ファイル「.xlsx」の拡張子を「.zip」に変えてください
・「拡張子を変更すると、ファイルが使えなくなる可能性があります。変更しますか?」という次のような注意メッセージが出ますが無視して「はい」を押します
ZIPファイルの中身を確認
・では、出来上がったZIPファイルを解凍して中身を見てみましょう
・確かに内部データがたくさん見えます
・どこを調べればいいのかわからないけど、今までの経験からほとんどは次のとおりでした
・「xl」フォルダを展開すると、いくつかのデータとフォルダがあります。その中の「worksheets」というフォルダを開くと、「sheet1.xml」「sheet2.xml」……のようにシート名のファイルがあります
・目的のシートがわかっている場合はそのシートを、わからない場合はこれらを一つひとつ調べます
エラーとなっている部分の探し方
・それでは、ファイルを開いて確認してみます
・メモ帳でもOKですが、エディターがある場合はエディターを使った方がわかりやすいと思います(ここでは EmEditer を使っています)
・エディター(メモ帳)で開いたデータに文字列「!#REF!」を検索します
・リファレンスエラーは「#REF!」ですが「!#REF!」とすることで外部リンクエラーの可能性が高くなります
・見つかった場合、そのシートにリンク切れのエラーがあります
・エラーは一つとは限りませんので複数回検索して発生個所や箇所数を確認します
【2021/10/17追記】
消せない外部リンクエラーを強制削除するための補助ツールを作成しました。下のブログカードからアクセスできますので是非ご覧ください。
削除できない外部リンクを強制的に削除する
XMLファイルからエラーリンクを削除する方法
サンプル画像は、マスキングしたので少し見ずらいですが(^^;
4件のエラーリンクがヒットしています
・「!#REF!」エラーがある「dataValidation」をこの場合4件全部削除します
・<x14:dataValidation・・・・!#REF!・・・・</x14:dataValidation>で1つの定義です
・上の画像の場合、①~④と定義が4つあることがわかります
・エラーとなっているこの4件の定義をすべて削除します
・画像右上の <x14:dataValidations count=”7″ の数値を削除した定義数分マイナスします
・ここでは「7-4=3」なので <x14:dataValidations count=”3″ に修正します
・最後にデータを上書き保存します
・と、こんな感じです(^^ゞ
今回の事例は「dataValidation」がエラーになっていましたが、他の部分で発生していることもあります。その場合でも同じように対応すればOKです
ただし、リンクエラー以外でも単なる計算式の「#REF!」エラーにも含まれていることがありますので注意してください
ZIPファイルを作成します
・修正完了後のファイルを含め、元通りZIPファイルに圧縮します エラー解除後にZIPファイルに戻す
・ZIP化したファイルの拡張子を「.zip」→「.xlsx」に変更します
・このメッセージは無視して「はい」を選択します
削除後のExcelファイルを開いて確認してみます
・ファイルが修正できたかどうか確認してみます
・修正した「.xlsx」ファイルを開きます
・状況によって、注意メッセージが出ますが無視して開きます!
(ダメならバックアップがあるから大丈夫! だよね!)
・「データ」タブ「接続」の「リンク編集」が選択できないようになっていれば、リンクはすべて削除されています(エラーの無かったリンクを残している場合は除きます)
気づきがありました!
・下の画像は、エクセルファイル「.xlsx」を右クリックした時の画像です
・7-Zip/展開で、ZIPファイルと同じように展開できることに気づきました
・これなら、ZIP化する手間が省けますね(^^)試してみてください
・テストのために作業している中で気づきました(今更という感じかもしれませんが^^ゞ
・7-Zipをインストールしているからなのかなぁ?
・Excelファイル(Officeファイル)は、本当にZIPファイルだったことを再確認しました(^^)/
まとめ(おわりに)
【2021/10/17追記】
消せない外部リンクエラーを強制削除するための補助ツールを作成しました。下のブログカードからアクセスできますので是非ご覧ください。
まとめと感想など
・Excelファイルの中身はXMLファイルの集まりがZIP圧縮されています
・中身のXMLファイルの「エラーリンク」部分を探し出して削除して上書き保存します
・作業完了後、再びZIP圧縮して拡張子をExcelファイルに戻して復元します
・復元したExcelファイルのリンク削除が正常かどうか確認して完了です
・このように「どうやっても削除できなかった外部リンク」を強制的に解除する方法について解説しました。これで「リンクエラー」に悩まされなくなることをお祈りいたします
・この作業を実行する場合は、実行前に必ずバックアップを取るようにしてください!
★★★ ブログランキング参加中! クリックしてね(^^)/ ★★★
今後の記事について
今回の記事はいかがだったでしょうか。皆さまのお役に立てたなら幸いです(^^;
今回の記事のサンプルファイルはありません!
【今後の記事内容はどうしようかなぁ・・・】
・お役に立てるTOOLなどができたら紹介していきたいと思います
・その他「小ネタいろいろ」などなど・・・・・
・今後の記事にご期待ください(^^)/