web-dev-qa-db-ja.com

破損したExcelファイルを修復する方法

USBスティックをコンピューターからすぐに引き抜いて台無しにした友人のために、いくつかのファイルを復元しようとしています。見えないパーティションを検索することで、ファイルを復元することができました。破損していると思われる1つのExcelファイルを除いて、すべてのファイルはそのままです。

Excel 2003-2010のデフォルトの修復オプションがこのファイルでは機能しないため、Excelファイルを修復する方法についてグーグルで検索しました。私は数多くのサードパーティ製アプリに出くわしましたが、そのうちの1つがその仕事を実行できるようです:Recovery ToolboxforExcel。

もちろん、これと私が見つけた他のすべてのアプリは、実際にファイルを修復するために購入する必要があります。一度に30ドル払うのは少しばかげているようで、私には向いていません。それで、私はそれを最後の手段として残したいと思います。

これを修正するためにできることはありますか? (コードを表示するために)HTMLファイルに変換したときにOSXでファイルを開いたときのファイルの外観のスクリーンショットを添付しました。これは、文字セットの問題である可能性があるためです。

enter image description here

7
sv88

動作が保証されているわけではありませんが、試してみる1つのことは、 OpenOffice または LibreOffice がファイルを開くことができるかどうかを確認することです。これらのソフトウェアスイートは確かに危険なWordファイルに対してより寛容であり、私はこの方法でいくつかのドキュメントを救出しました。

10
Linker3000

礼儀 TechRepublic。Figuresが配置されている場所:

1:Excelで試してみましょう

Excelの自動回復モードが失敗した場合、破損したブックを回復するための手動機能があります。

  1. [ファイル]メニューから[開く]を選択します。 Excel 2007では、[Office]ボタンをクリックして、[開く]を選択します。
  2. ルックインコントロールを使用して、破損したブックを見つけて指定します。
  3. 図Aに示す[開く]ボタンのドロップダウンリストから、[開いて修復]を選択します。
  4. ブックを手動で復元するのが初めての場合は、図Bに示すダイアログボックスで[修復]をクリックします。

図A

破損したブックを手動で回復しようとします。

図B

ブックを修復するか、破損したブックからデータを抽出できます。

運が良ければ、Excelがファイルを修復します。ただし、この機能はExcelで問題が発生したときにファイルを回復するため、破損したすべてのファイルを回復するわけではありません。ファイルの回復をすべて試みたら、データだけを回復する必要があるかもしれません。その場合は、手順4の[データの抽出]をクリックします。

2:ブックを開いているときに破損が発生した場合

ブックを開いているときに破損が発生した場合は、ブックを保存しないでください。破損したブックを最新の変更とともに保存するだけです。代わりに、最後に保存したバージョンに戻します。そうすることで、最初に保存せずに、破損したコンポーネントを破棄する必要があります。データが失われる可能性がありますが、多くの場合、十分に迅速に再構築できます(作業を頻繁に保存するのに十分な理由です)。最後に保存したバージョンに戻すには、次の手順を実行します。

  1. [ファイル]メニューから[開く]を選択します。 Excel 2007では、[Office]ボタンをクリックして、[開く]を選択します。
  2. ルックインコントロールを使用して、破損したブックを見つけて指定します。
  3. [開く]をクリックします。

あなたは本当にワークブックを再開しているだけです-特別なことは何も起こっていません。

3:自動計算を無効にします

Excelが単独で、または[開くと修復]オプションを使用してファイルを開くことができない場合は、計算方法を手動に設定して、再試行してください。計算設定をリセットするには:

  1. 新しい空白のブックを開きます。
  2. [ツール]メニューから[オプション]を選択し、[計算]タブをクリックします。 Excel 2007では、[Office]ボタンをクリックし、[Excelオプション]をクリックして、左側のパネルで[数式]を選択します。
  3. [計算]セクション(Excel 2007の計算オプション)で、[手動]をクリックします。
  4. [OK]をクリックします。

次に、破損したブックを開いてみます。 Excelは、再計算する必要がない場合、破損したブックを開くことがあります。

4:Microsoft Officeツールを試す

Excelが破損したブックを開くことができない場合は、MicrosoftOfficeツールに回転を与えます。

  1. [スタート]メニューから、[すべてのプログラム](Windows XPの場合)を選択します。
  2. MicrosoftOfficeを選択します。
  3. MicrosoftOfficeツールを選択します。
  4. Microsoft Office ApplicationRecoveryを選択します。
  5. 図Cに示すダイアログボックスで、Microsoft OfficeExcelを選択します。
  6. [アプリケーションの回復]をクリックします。このプロセスには数分かかる場合があります。
  7. Microsoftプロンプトへのレポートの送信に応答します。

図C

Office Toolsは破損したブックを回復する可能性があります。

回復ツールはExcelを閉じてから再起動し、回復されたブックのリストを表示します(存在する場合)。運が良ければ、破損したブックがリストに含まれます。それを開いてあなたの祝福を数えるだけです。

5:ファイルを移動します

破損したブックは、従来の意味では実際には破損していない場合があります。いつものようにアクセスできないだけです。ネットワークとサーバーは、エラーを破損したファイルとしてマスクすることがよくあります。 Excelで修復できない、破損しているように見えるブックに遭遇した場合は、破損したファイルを別のフォルダ、ドライブ、またはサーバーに移動します。

6:競争を試してみましょう

MicrosoftOfficeに代わる無料のオープンソースであるOpenOfficeSuiteを使用すると、非常に良い結果が得られると主張する人もいます。このスイートの対応するExcelであるCalcは、破損したExcelファイルを開く必要があります。残念ながら、ダウンロードに時間がかかることを意味しますが、それが機能する場合は、努力する価値があります。

7:破損したブックをワードパッドまたはWordで開きます

ブックを修復できない場合は、ワードパッドで開いてみてください。それが機能する場合、ワードパッドはすべてをテキストに変換しますが、重要なデータの回復に一歩近づきます。残念ながら、この方法では数式を復元できません。一方、他の多くのデータ復旧方法とは異なり、ワードパッドはVBAプロシージャ(マクロ)を復旧します。復元されたテキストでSubFunctionを検索するだけで、それらを見つけることができます。破損した.xlsファイルをWordで開くこともできる場合がありますが、結果は制限されます。この方法を機能させるには、Microsoft OfficeExcelコンバーターをインストールする必要があります。また、ワードパッドとは異なり、Wordは手順を回復しません。

8:外部参照を使用する

破損したブックの実際のセルを参照することで、データを回復できる場合があります。数式、形式、グラフ、マクロなどは復元されませんが、データを復元する方が、何も復元しないよりも優れています。破損したブックを参照してデータを回復するには、次の手順を実行します。

  1. 新しいブックを開き、セルA1に次の形式の数式を入力して、破損したブックのA1を参照します。=nameofcorruptedworkbook!A1。 (ファイル名に.xlsを含める必要はありません。)
  2. Enterキーを押します。
  3. 破損したブックが同じフォルダにない場合、Excelは[値の更新:破損したブックの名前]ダイアログボックスを表示します。ルックインコントロールを使用して、破損したファイルを見つけます。ファイルを選択し、[OK]をクリックします。
  4. 図Dに示すように、[シートの選択]ダイアログボックスが表示されたら、適切なシートを選択して[OK]をクリックします。 Excelは、破損したブックのセルA1に値を表示します。
  5. セルA1を選択し、破損したファイルのデータに対応するために必要な数の列にドラッグします。 Excelに[値の更新:破損したワークブックの名前]ダイアログボックスが表示された場合は、破損したファイルを選択して[OK]をクリックします。
  6. 手順5を繰り返し、破損したファイルのデータに対応するために、行Aを必要な数の行にコピーします。
  7. データを選択し、[編集]メニューから[コピー]を選択します。
  8. 図Eに示すように、[編集]メニューから[形式を選択して貼り付け]を選択し、[値]を選択します。
  9. [OK]をクリックします。

図D

破損したファイルに複数のシートがある場合は、シートを指定してください。

図E

参照式をデータに置き換えます。

9:SYLK形式を試してデータを回復してください

特に破損がプリンタに関連している場合は、SYLK形式を使用して破損した要素を除外することをお勧めします。以下を機能させるには、破損したブックを開くことができる必要があります。

  1. [ファイル]メニューから[名前を付けて保存]を選択します。 Excel 2007では、[Office]ボタンをクリックします。
  2. 図Fに示すように、[ファイルの種類]コントロールから[SYLK(シンボリックリンク)(*。slk)]を選択します。
  3. アクティブなシートに、corruptedworkbooknameSheet1などのわかりやすい名前を付けます。ブックにシートが1つしかない場合、この手順は不要です。
  4. [保存]をクリックします。
  5. ブックに複数のシートがある場合、選択した形式は複数のシートをサポートしていないため、Excelは続行するかどうかを尋ねます。 [OK]をクリックします。
  6. ワークブックにSYLK形式と互換性のない機能が含まれている可能性があるという警告がExcelから表示された場合は、[はい]をクリックします。

図F

SYLK形式を使用して各シートを保存します。

SYLK形式ではアクティブなシートのみが保存されることを知っておくことが重要です。ただし、.slkファイルを閉じて再度開くまで、フォーマットによってアクティブなページ以外のすべてのページが削除されたことに気付くことはありません。すべてのシートからデータを回復するには、破損したブックを再度開いて、各シートを個別に保存する必要があります。そのため、手順3では、シートにわかりやすい名前を付けるように指示します。これらの名前は、複数シートのワークブックを再構築するときに役立ちます。すべてのシートをSYLK形式で保存した後、.slkファイルの1つを開き、.xls形式を使用して名前を変更します。破損したブックの名前を使用しないように注意してください。ブックを再構築したら、破損したファイルを破棄するか、名前を変更して、元の名前を解放できます。できるだけ多くのデータを回復したことが確実になるまで、交換しないでください。次に、.slkファイルからデータをインポートまたはコピーして、ブックを再構築します。これは退屈なプロセスですが、他に何も機能しない場合は努力する価値があります。このメソッドは、数式から得られた値を保存しますが、数式自体は保存しません。

10:マクロを回復する

前のヒントのいずれかを使用してデータを回復できるがマクロは回復できない場合でも、少なくとも時々はマクロを保存できます。試すには、次の手順を実行します。

  1. Excelを開きますが、破損したブックは開かないでください。
  2. 計算モードを手動に設定します(#3を参照)。
  3. [ツール]メニューから[マクロ]を選択し、[セキュリティ]を選択して、[高]オプションを選択します。 Excel 2007では、[Office]ボタンをクリックし、[Excelオプション]をクリックして、左側のパネルで[セキュリティセンター]を選択します。次に、[セキュリティセンターの設定]ボタンをクリックし、左側のパネルで[マクロの設定]を選択し、[マクロの設定]セクションで[通知なしですべてのマクロを無効にする]を選択して、[OK]を2回クリックします。
  4. 破損したブックを開きます。 Excelでブックを開くと、マクロが無効になっていることが通知されます。 Excelがシャットダウンすると、この方法は機能しません。
  5. 押す Alt+F11 Visual Basic Editor(VBE)を開きます。
  6. プロジェクトエクスプローラーの使用(を押します Ctrl+ R)、モジュールを右クリックして、[ファイルのエクスポート]を選択します。
  7. モジュールの名前とフォルダを入力します。
  8. 手順6と7を必要な回数繰り返して、すべてのモジュールをエクスポートします。
  9. VBEを閉じて、Excelを終了します。
  10. 新しい空白のブック(または破損したブックから復元されたデータを含む新しく作成されたブック)を開き、モジュールをインポートします。
6
pnuts
  1. 破損したスプレッドシートをGoogleドライブにアップロードします。
  2. スプレッドシートを右クリックして、プログラムから開く-> Googleスプレッドシートを選択します。 Googleスプレッドシートは、スプレッドシートを独自のスプレッドシート形式に変換して、Googleスプレッドシートで編集できるようにします。
  3. Googleスプレッドシートで開いているスプレッドシートから、ファイル-> 名前を付けてダウンロード-> Microsoft Excel(.xlsx)を選択します。 Googleスプレッドシートは、スプレッドシートを.xlsx形式に変換します。
  4. Googleドライブからダウンロードした.xlsドキュメントをExcelで開きます。

Googleスプレッドシートは、スプレッドシートを.xlsx形式に変換するのに適しています。 Googleスプレッドシートでの2つのファイル変換により、問題の原因となった元のスプレッドシートにあるものがすべて削除される場合があります。この方法は、破損した.ods形式のスプレッドシートを回復する場合にも機能します。

0
karel