これは、この問題を見た人からの情報要求であり、回避策、回復戦略、および予防策についての提案を募集しています。
Excelで[保存]をクリックしたときに、Excelブックファイルが保存されているフォルダーを見たことがありますか。
保存プロセス中に、Excelは、任意の8文字の名前を持ち、「。xls」または「.tmp」拡張子のない一時ファイルを作成します。この一時ファイルへの書き込み操作が完了するとすぐに、元のファイルは削除され、この一時ファイルの名前は元のファイル名に変更されます。
時々このプロセスはうまくいかない。具体的には、Excelアプリケーションウィンドウはユーザー入力への応答を停止しますが、画面は再描画され、「[ファイル名]を保存しています」という進行状況バーがアプリケーションウィンドウに表示されます。
一時ファイルが大きくなり、大きくなり...そして大きくなります。
2 GBの直後、またはディスク領域が不足すると、一時ファイルが削除され、Excelは「ドキュメントが保存されていません」エラーを返します。運が良ければ10〜15分、そうでなければ数時間かかります。変更を加えたファイルの以前のコピー(または自動保存フォルダーに何か)がない場合は、完全に不運です。最後に成功した保存以降の作業はすべて失われます。
機能しません。もう一度保存するとプロセスが繰り返されます。「名前を付けて保存」を別のファイル形式(例:Webページ)に保存すると、しばらくするとプロセスが繰り返されます。
この問題は4つの異なる会社で見られました。それらの1つ(ニューヨーク、ロンドン、チューリッヒ、シンガポールの大規模な金融機関)は、非常に大きく複雑なスプレッドシートを大量のVBAで使用しており、ほとんどのExcel開発者が問題を認識しています。
マイクロソフトはそれについて何も言うことはありません。 「ドキュメントは保存されていません」に関するMicrosoftのKB記事 をよく読んでいると、レドモンドの誰かが問題の各部分を確認したが、確認するKB記事にそれらの部分をまとめることはできません。この特定の問題。
ここに私が知っているすべてがあります:
私が知らないことがいくつかあります:
私の場合、Excelが一時ファイルを保存しているかどうかわかりません。それ以外の場合、私の経験は質問に記載されているポイント1、2、3、4、5に対応しています。 Office 11.0(2003)を使用しています。
明確にするために、2番目のポイント1から5および最初のポイント。怒っている管理者はいません(まだ!)。
回避策の1つは、ファイルを読み取り専用に変更することです。保存するように求められたら、別のファイル名で保存し、後で古いファイルを上書きする必要があります(新しいファイルをもう一度読み取り専用にします)。これにより、すべてのモジュールをエクスポートする必要がなくなります。
面倒ですが、各モジュールをエクスポートして再インポートするよりは少ないと思います。
かなり複雑なソフトウェアを十分に長く使用すると、最終的には修正されていない非常に不十分な(またはまったくない)文書化されたバグが見つかるだろうと私は考え始めています。
これは、この非常にイライラする問題に対する私の回避策です。すべてのデータを失わないようにする唯一の方法は、開いている間にワークブックからすべての情報をコピーして、新しいワークブックに貼り付けることです。これをcanで保存します。
おそらく新しいドキュメントを作成すると、Excelは新しい一時ファイルとパスを起動できます。
興味深いことに、私が説明したように、他のファイルの新しいワークブックを開始した後、開いていて同じ「ドキュメントが保存されていません」というメッセージが表示され、保存して閉じた別のワークブックがあるようです。ただし、これについて100%確信することはできません。次回、この迷惑な問題が発生したときにもう一度試します。
ネットワークドライブでさまざまな一時ファイルを表示できますが、それらにアクセスできませんでした。人生は短すぎる。
作業内容は失われない可能性があるため、慌ててファイルを閉じないでください。ここにあなたが試すことができるものがあります:私は(時々)新しいまたは既存のワークシートに保存されなかったファイルからワークシートをコピーすることができました。そのファイルは、私の作品のコピーと共に保存できます。もちろん、Excelが完全にクラッシュすると、ファイルはコピーで修復されました。元のファイルは非常に古いバージョンに戻りましたが、私の作業は失われませんでした。幸運を。
私はこれと同じエラーに遭遇し、新しいワークブックへのコピー/貼り付けは本当に私にとってオプションではありませんでしたb/c非常に詳細な/カスタマイズされたピボットテーブルがありました。 Microsoftのサポート記事のアドバイスに従って、ローカルドライブ(使用していたネットワークドライブではなく)に保存しようとしましたが、それでも解決しませんでした。
以前に保存していた通常のExcelワークブックファイルの種類(.xlsx)ではなく、マクロ有効ワークブック(.xlsm)として保存しただけです。うまくいきました。注:最初に古いExcelワークブックファイルタイプ(.xls)として保存しようとしましたが、xlsxバージョンに新しく追加されたピボットテーブル機能との互換性/忠実度エラーが発生したため、そのルートに注意してください。
その後、戻って、ドキュメントを通常の(.xlsx)ファイルタイプとして保存することができました。
お役に立てば幸いです。
マイクロソフトはこのKB記事を2005年に公開しましたが、最近検索エンジンに表示されるようになりました: Excel 2000でファイルを保存しようとするとエラーメッセージが表示される場合があります この記事では、NetworkResiliencyレジストリ設定の使用について説明します。他の誰かがこれを試したかどうか知りたいです。
同じ情報が2007年にKB291204で公開されました: Excelでネットワーク接続が失われた後にファイルを保存すると、エラーメッセージが表示されます 。
私はこの問題を何度も経験しました。先に述べたように、ネットワークの保存との関連でのみ見られました。これが起こったとき、私は私のハードドライブに関して保存を行い、それは機能します。その後、安全のためにシャットダウンして再起動し、すべてのバックグラウンドをクリーンアップしますRAM乱雑になり、保存ファイルを開いて再保存するか、ネットワークドライブに移動するだけです。
同じ問題がありましたが、Excelではファイルを別の形式で保存することも、重要な(つまり、最後に保存してから変更された)データを別のブックにコピーすることもできませんでした。 100%確かではありませんが、印象があります。これは、データがすべてのフォーマットを含む別のソースからExcelファイルに以前にコピーされたときに発生します。それで、あらゆる種類の境界線や塗りつぶしをワークシートなどから削除し、ファイルを保存することができました。すべての作業を失う前に、試してみる価値があります。
私の場合、「ドキュメントが保存されていません」の問題は、マクロ(VBA)を含むスプレッドシートを数秒前に同じことを行った後、ネットワークドライブに保存しようとしたのが早すぎるために発生しました( Windows 8.1でExcel 2000を使用して初めて[保存]をクリックしたため、もう一度クリックしました)。 Windowsは、Excelを閉じて、Excelが保存した8文字(拡張子なし)の一時ファイルを開くように提案しましたが、大量の作業が失われるのではないかと恐れていたので、そのアドバイスは無視しました。 Excelはまず一時ファイルに保存し、次にそれを正しい元のファイル名に名前変更しますが、そのプロセスは、もう一度(ネットワークドライブに)[保存]をクリックするのが速すぎたために破損しました。結果は一時ファイルでしたが、元のファイルはエクスプローラーから完全に消えてしまいました!怖い。エクスプローラーで一時ファイルを削除し、Microsoftの提案に従って、まだ開いているファイルをローカルドライブに保存しようとしましたが、うまくいきませんでした。 Excelは、何を試しても保存を拒否しました。 Excelの別のインスタンスを開いて、ファイルのデータコンテンツをコピーアンドペーストして、バックアップとして保存することができました(この状況でコピーしようとするとExcelがクラッシュすると報告されています。 。)Microsoftの記事KB230164で説明されているように、レジストリにNetworkResiliencyサブキーを追加しようとしませんでした。次に、ごみ箱から一時ファイルを復元しました。
Excelを開き、そのファイルから一時ファイル(ランダムな8文字の名前)を開くと、元のスプレッドシートがそのまま作成され、その後、新しい名前でネットワークドライブに正常に保存できました。
その後、そのファイルまたは.xlsファイルを開こうとすると、Excelがクラッシュしました。しかし、コンピュータの再起動後はすべて問題ありませんでした。