Libre Officeで「破損しているため、開くことができません」となったファイル の修復を試みた(半分成功)

2023-03-14

Libre Office Calc でファイルを開くと、「ファイル *** は破損しているため、開くことができません。LibreOfficeで修復できるか試してください。」と出ました。

いろいろ試して、完全修復はできなかったけど、欲しいデータは取り出せたので、その手順を記録しておきます。

症状

Libre Office Calc でファイルを開くと、「ファイル *** は破損しているため、開くことができません。LibreOfficeで修復できるか試してください。」と出ました。

午前中は、問題なく開けていたのに…。

「修復を試みますか?」で「はい」を選択しても、画面は表示されず…。

1.バックアップフォルダを確認

この方法は、常時バックアップ設定がオンになっている場合のみ有効です。

「ツール」→「オプション」→「読み込みと保存」→「全般」→「常時バックアップコピーの作成」を確認してください。

エクスプローラのアドレスバーに「%appdata%\libreoffice\4\user\backup」を入力してフォルダを開き、探しているのと同じ名前のファイルがあれば、激アツ。

拡張子を「.bak」から、以下のような本来の拡張子に変更すれば、前回の保存時点のファイルを復旧できるかもしません。

.odt – テキスト文書
.ods – 表計算ファイル
.odp – プレゼンテーションファイル
.odg – イラストやグラフィック

2.ファイルを展開して中身を見る

Libre Office のファイルは、複数のファイルを圧縮したもののようです。展開してデータが入っているcontent.xmlというファイルを開ければ 、データだけでも拾えるかもしれません。

7ZIPをインストール

ファイルを展開するために、7zipというソフトを使用します。

以下のリンクからダウンロードして、インストール。

https://sevenzip.osdn.jp/

スタートメニューに「7zip」と入力してアプリを起動。

ファイルを選択して

「展開」をクリック

「OK」をクリック。

展開されたフォルダの中に、「content.xml」があれば、データは拾える可能性あり。このファイルをxmlに対応しているアプリで開くと、画面に表示されていた文字や数値は拾えます。

中身を確認

画面は、VSCodeに「XML Tools」というエクステンションを入れて、整形した状態です。

とりあえず、画面に入力していたデータは取得できたので、Libre Calcで新しくファイルを作成して、そこにコピペしました。