ナレッジ ベース KB0062

Excelのエラー メッセージ:"…"保存中にエラーが検出された

問題

次のシナリオを検討してください。Microsoft Officeを自動化するプロジェクトで作業を行っています。Microsoft Visual Basic for Applicationsエディターを開きました。think-cellのExcelデータ リンクが含まれているExcelワークシートも開きます。

think-cellのExcelデータ リンクが含まれているExcelワークシートを削除します。Excelに 「オブジェクトが必要です」というエラー メッセージが表示される可能性があります。

Excelファイルを保存しようとすると、Excelに以下のメッセージが表示されます:
「(ファイル名)の保存中にエラーが検出されました。一部の機能を削除または修復すると、Microsoft Excelファイルを保存できるかもしれません。新しいファイルを修復するには、[続行] をクリックします。ファイルの保存をキャンセルするには [キャンセル] をクリックしてください。」

Excelのエラー メッセージ:保存中にエラーが検出されました

[続行] をクリックすると、修復できません。

ファイルを保存する代わりに新しいExcelワークシートを挿入しようとすると、Excelはクラッシュします。

原因

この問題はExcelのバグが原因です。この件について、弊社はMicrosoftに報告しています。貴社にMicrosoft Officeサポートの連絡先があり、この問題についてMicrosoftに連絡して修正プログラムを要請なさりたい場合は、Microsoftケース番号114072911657591を使用してください。think-cellを使用していない場合でもエラーが再現されます。

think-cellを使用しないで再現

以下の手順を行ってください。

  1. 新しい空のファイルでExcelを起動します。
  2. 最初のワークシート「Sheet1」のセルA1とA2に「100」と入力します。
  3. Sheet1」でA1:A2のセルを選択し、Ctrl + Cを押してコピーします。
  4. Excel 2013および2016の場合のみ:2番目のワークシートを挿入します。(より古いExcelのバージョンには3つのワークシートが既定で含まれているため、これは不要です。)
  5. Alt + F11を押して、Microsoft Visual Basic for Applicationsエディター ウィンドウを開き、これを開いたままにします。
  6. 新しい空のファイルでWordを起動します。
  7. Wordで [ホーム] → [貼り付け] → [形式を選択して貼り付け] → [リンク貼り付け:Microsoft Excelワークシート オブジェクト] を選択し、[OK] をクリックします。
  8. Excelで [Sheet1] タブを右クリックし、[削除] をクリックします。
  9. Excelで新しいワークシートを挿入します。Excelがクラッシュします。

解決策

このエラーが発生した場合は、新しいExcelドキュメントでデータを保存するか、変更を破棄して元のドキュメントを修復できます。

新しいExcelドキュメントでデータを保存

ドキュメントへの変更を保存するには、変更したワークシートを新しいExcelドキュメントにコピーして保存します。

今後、このエラーを回避するためにExcelドキュメントを修復

ExcelドキュメントはVisual Basic for Applications(VBA)プロジェクトをドキュメントから削除すると修復できます。ただし、Visual Basicエディターで削除するだけでは不十分です。以下の手順を使用してください。

  1. ドキュメントのバックアップを作成します。
  2. 無料のStructured Storage Viewerをダウンロードして実行してください。
  3. Structured Storage Viewerでドキュメントを開きます。
  4. ドキュメントのツリー ビューで「_VBA_PROJECT_CUR」を選択し、Delを押して削除します。
  5. 削除を確認し、Structured Storage Viewerを閉じます。
  6. Excelでドキュメントを開きます。
  7. [Microsoft Visual Basic] → [ファイルが見つかりません] ダイアログボックスが開きます。[OK] を押します。
  8. 別の [修復] ダイアログ ボックスが表示され、[失われたVisual Basicプロジェクト] が含まれています。[閉じる] を押します。
  9. ドキュメントを保存します。

これでthink-cellのリンクを含むワークシートを削除し、ドキュメントを保存できるようになります。