エクセルが開かない

’XXXXX(ファイル名)’には読み取れない内容が含まれています。このブックの内容を回復しますか?ブックの発行元が信頼できる場合は「はい」をクリックしてください。

’XXXXX(ファイル名)’には読み取れない内容が含まれています。このブックの内容を回復しますか?ブックの発行元が信頼できる場合は「はい」をクリックしてください。

 

    ↓

「はい」をクリック

    

    ↓

読み取れなかった内容を修復または削除することによりファイルを開くことができました。

    ↓

修復されたレコード: /xl/drawings/drawing1.xml パーツ内のスケッチ (図形描画)

    

クリックすると修復のログファイルが表示されます。  

    ↓

<?xml version="1.0" encoding="UTF-8" standalone="true"?>
-<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">

<logFileName>error057160_01.xml</logFileName>

<summary>ファイル 'C:\Users\Owner\Documents\sample.xlsx' にエラーが検出されました

</summary>-<repairedRecords summary="修復の一覧:">

<repairedRecord>修復されたレコード: /xl/drawings/drawing1.xml パーツ内のスケッチ (図形描画)</repairedRecord>

</repairedRecords>

</recoveryLog> 

線とか図とか消えてしまった。。。回復してないじゃん

ブックの内容を回復しない限り、壊れたエクセルは開きません。

でも、上記のようにdrawing1.xmlなるファイルを削除し回復されます。

drawing1.xmlには描画情報が記録されています。

これを削除するということは、描画全てを消して回復するということなんです。

壊れた部分を部分的に直す方法はないのでしょうか?

とまぁ、直せないのが仕様ですって。

具体的にいえば、図形描画はdrawing1.xmlに登録されているが、回復方法は、そのファイルを消すという方式なので、すべての描画が消えてしまうのですね。

じゃあ機能に頼らず、自力で直すしかない!

①/xl/drawings/drawing1.xmlってのを編集できる状態にする

 

ExcelはXML形式のファイルがZIP化されたものなので、複合化ツール(7-Zip)を使って、ZIPを解凍します。

 

②drawing1.xmlから壊れたところを見つける

 

Excelがここがおかしいって表示かログでも出してくれるといいのですが、不親切で出力されません。

自力で見つけるしかありません。

Excelを解凍して、drawing1.xmlを取り出します。

drawing1.xmlを高度エディタ(サクラエディタ等)で開きます。

 →改行とかないので見難い。。。ブラウザで開くとわかり易いが、編集できない。。。ということで、見難いですがエディタで開く

 

drawing1.xmlは以下のような形式で記載されています。(・・・は割愛個所)

 

<?xml version= ・・・・ ?><xdr;wsDr xmlns:xdr="http://・・・・・ 2006/main"><xdr:twoCellAnchor>・・・</xdr:twoCellAncor></xdr:wsDr>

1つ1つの描画が<xdr:twoCellAnchor>・・・</xdr:twoCellAncor>で囲ってある。
これを一つずつ消していき、zipに戻し、excelで開くを繰り返しエラーの有無で壊れている場所が判断できる。


③壊れた個所のみ取り除く

壊れている<xdr:twoCellAnchor>・・・</xdr:twoCellAncor>部分を取り除けば、目的通り、問題個所だけを排除した形で復旧可能です。