ナレッジベース KB0062

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

問題

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

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

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

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

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

Excel 2007 または 2010: ファイルを保存する代わりに新しい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 以降で再現しようとする場合のみ、2番目のワークシートを挿入してください。これより古いExcelバージョンでは3つのデフォルトワークシートがあるため、これは必須ではありません)。
  5. Alt + F11を押して、Microsoft Visual Basic for Applicationsエディター ウィンドウを開き、これを開いたままにします。
  6. 新しい空のファイルでWordを起動します。
  7. Wordで[ホーム][貼り付け][形式を選択して貼り付け] → [リンクを貼り付け: ] に進みます。Microsoft Excelワークシート オブジェクト] を選択し、[OK] をクリックします。
  8. Excelで [Sheet1] タブを右クリックし、[削除] をクリックします。
  9. Excelファイルの保存を試行してください。Excelに
    「[ファイル名]の保存中にエラーが検出されました。」というエラーメッセージが表示されます。一部の機能を削除または修復すると、Microsoft Excelファイルを保存できるかもしれません。新しいファイルを修復するには、[続行] をクリックします。ファイルの保存をキャンセルするには [キャンセル] をクリックしてください。」

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

    Excel 2007 または 2010: ファイルを保存する代わりに新しい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のリンクを含むワークシートを削除し、ドキュメントを保存できるようになります。

共有する