KB0062: Excel のエラー メッセージ: "Errors were detected while saving ..."

問題

次の状況を考えてみます。Microsoft Office を自動化するプロジェクトに取り組んでいるため、Microsoft Visual Basic for Applications エディターを開いています。同時に Excel ワークシートも開いており、その中に thinkcell の Excel データ リンクが含まれています(Excel データ リンク を参照)。

thinkcell の Excel データ リンクが存在する Excel ワークシートを削除します。Excel にエラー メッセージ "Object required" が表示される場合があります。

Excel ファイルを保存しようとすると、Excel に次のエラー メッセージが表示されます:
"Errors were detected while saving [file name]. Microsoft Excel may be able to save the file by removing or repairing some features. To make the repairs in a new file, click Continue. To cancel saving the file, click Cancel."

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

Continue をクリックすると、修復に失敗します。

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

原因

この問題は Excel のバグが原因です。当社は Microsoft にケースを提出しています。お客様の会社が Microsoft Office Support 契約を結んでおり、修正を依頼するために Microsoft に問い合わせる場合は、Microsoft ケース番号 114072911657591 を参照できます。このエラーは thinkcell なしでも再現できます。 もっと読む

thinkcell を使用しない再現手順

次の手順を実行してください。

  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 で、Home > Paste > Paste Special > Paste Link: Microsoft Excel Worksheet Object に移動し、OK をクリックします。
  8. Excel で Sheet1 タブを右クリックし、Delete をクリックします。
  9. Excel ファイルの保存を試みます。Excel に次のエラー メッセージが表示されます:
    "Errors were detected while saving [file name]. Microsoft Excel may be able to save the file by removing or repairing some features. To make the repairs in a new file, click Continue. To cancel saving the file, click Cancel."

    Continue をクリックすると、修復に失敗します。

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

解決策

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

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

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

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

ドキュメントから Visual Basic for Applications(VBA)プロジェクトを削除することで、Excel ドキュメントを修復できます。ただし、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 > File not found というダイアログ ボックスが表示されます。OK を押します。
  8. Repairs という別のダイアログ ボックスが表示され、Lost Visual Basic project が一覧に表示されます。Close を押します。
  9. ドキュメントを保存します。

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