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."
Continue をクリックすると、修復に失敗します。
Excel 2007 または 2010: ファイルを保存しようとする代わりに新しい Excel ワークシートを挿入しようとすると、Excel がクラッシュします。
原因
この問題は Excel のバグが原因です。当社は Microsoft にケースを提出しています。お客様の会社が Microsoft Office Support 契約を結んでおり、修正を依頼するために Microsoft に問い合わせる場合は、Microsoft ケース番号 114072911657591 を参照できます。このエラーは thinkcell なしでも再現できます。 もっと読む
thinkcell を使用しない再現手順
次の手順を実行してください。
- 新しい空のファイルで Excel を起動します。
- 最初のワークシート Sheet1 のセル A1 と A2 に 100 を入力します。
- Sheet1 のセル A1:A2 を選択し、Ctrl + C を押してコピーします。
- (Excel 2013 以降で再現を試す場合のみ: 2 番目のワークシートを挿入します。古い Excel バージョンには既定で 3 つのワークシートがあるため、この手順は不要です)。
- Alt + F11 を押して Microsoft Visual Basic for Applications エディター ウィンドウを開き、そのまま開いた状態にしておきます。
- 新しい空のファイルで Word を起動します。
- Word で、Home > Paste > Paste Special > Paste Link: Microsoft Excel Worksheet Object に移動し、OK をクリックします。
- Excel で Sheet1 タブを右クリックし、Delete をクリックします。
-
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 エディターで単に削除するだけでは不十分です。次の手順を使用してください: もっと読む
- ドキュメントのバックアップを作成します。
- 無料の Structured Storage Viewer をダウンロードして実行します。
- Structured Storage Viewer でドキュメントを開きます。
- ドキュメントのツリー ビューで _VBA_PROJECT_CUR を選択し、Del を押して削除します。
- 削除を確認し、Structured Storage Viewer を閉じます。
- Excel でドキュメントを開きます。
- Microsoft Visual Basic > File not found というダイアログ ボックスが表示されます。OK を押します。
- Repairs という別のダイアログ ボックスが表示され、Lost Visual Basic project が一覧に表示されます。Close を押します。
- ドキュメントを保存します。
これで、thinkcell リンクを含むワークシートを削除してからドキュメントを保存できるようになります。