Excelの外部リンクを強制クリア
いきさつ
プロジェクトで扱われているエクセルのシートをコピペしていると、いつしか勝手に外部リンクが設定され、解除できない事態に・・・。
サイトの解決法を用いてもいまいち解除が成功しない。私なりの解決法を見つけたのでここで公開してみる。自己責任でお試しください。事前にバックアップを忘れずに
処理手順
1.まずは拡張子を".xlsx"→".zip"に変更し、解凍をおこないます。
(私の環境ではLhaplusではできましたが、Explzhでは解凍できませんでした。)
2.xl/worksheetsフォルダ配下のxmlファイルから"datavalidation"のエラー("!#REF!")を引き起こしているシートに対してsakuraエディタを開きます。
(今回のケースでは"datavalidation"がおかしい事態になっていましたが、他のところで"#REF!"が発生している時もありますので、
症状に合わせて対応してみてください。)
3.改行無しでは分かりづらいので正規表現置換で改行を付けます。
4."!#REF!"エラーがある"dataValidation"を削除し、"dataValidations"の"count"要素を-1します。
(今回のケースでは"datavalidation"がおかしい事態になっていましたが、他のところで"#REF!"が発生している時もありますので、
症状に合わせて対応してみてください。)
[修正前]
[修正後]
5.zip圧縮をおこない、拡張子を".zip"→".xlsx"に変更します。
リンクの編集が押せなくなれば成功です。