生成 2GB 临时文件后,Microsoft Excel 返回错误“文档未保存”

生成 2GB 临时文件后,Microsoft Excel 返回错误“文档未保存”

概括

  1. 保存 Excel 工作簿有时运行非常慢;
  2. 创建了一个巨大的临时文件;
  3. 您收到“文档未保存”错误;
  4. 无论您做什么,当前的 Excel 会话都无法保存该文件;
  5. 自上次成功保存以来,您所做的所有工作都已丢失。

这是向遇到过此问题的任何其他人征求信息,邀请您对解决方法、恢复策略和预防措施提出建议。

细节

当您在 Excel 中单击“保存”时,您是否查看过保存 Excel 工作簿文件的文件夹?

在保存过程中,Excel 会创建一个临时文件,其名称为任意 8 个字符,没有“.xls”或“.tmp”扩展名。一旦完成对此临时文件的写入操作,原始文件就会被删除,并且此临时文件会重命名为原始文件名。

有时这个过程会出错。具体来说:Excel 应用程序窗口停止响应用户输入,但屏幕仍然重新绘制,并且应用程序窗口中会显示“正在保存 [文件名]:”进度条。

临时文件不断增大、增大... 增大。

超过 2 GB 后不久(或者磁盘空间不足),临时文件将被删除,Excel 将返回“文档未保存”错误。如果幸运的话,这将需要 10-15 分钟,如果运气不好,则需要几个小时。如果您没有包含更改的文件的早期副本(或自动保存文件夹中的某些内容),那么您就完全倒霉了:自上次成功保存以来的所有工作都将丢失。

没有任何效果:再次保存会重复该过程,在延迟后,“另存为”为另一种文件格式(例如:网页)会重复该过程。

我在四家不同的公司都看到过这个问题;其中一家(纽约、伦敦、苏黎世和新加坡的一家大型金融机构)使用非常庞大且复杂的电子表格,其中包含大量 VBA,大多数 Excel 开发人员都遇到了这个问题。

微软对此无话可说。仔细阅读Microsoft 关于“文档未保存”的知识库文章这表明雷德蒙德的某个人已经看到了问题的每个不同部分,但无法将各个部分整合到一篇可以承认这个特定问题的知识库文章中。

以下是我所知道的全部内容:

  1. 我只在网络驱动器上见过它;
  2. 我只在我处理文件中的 VBA 代码并点击“编译”之后才看到它;
  3. 我有大多以前我曾在处理大文件(超过 50 MB)时遇到过这种情况,但今天我在一个 780 kB 的文件上也遇到了这种情况;
  4. 我无法从当前 Excel 会话保存文件;
  5. 我可以导出单独的 VBA 模块;
  6. 网络管理员对于流量和服务器空间非常恼火。

以下是一些我不知道的事情:

  1. 我没有在 Excel 2007 或 2010 中看到此问题,但我没有足够使用这些更高版本的 Office,因此无法断定它们没有出现此问题。
  2. 自 1997 年起,所有其他版本的 Excel 都可以并且将会实现。
  3. 我不知道与服务包、修补程序或第三方防病毒软件有任何关联。

问题

  1. 造成这个问题的原因是什么?
  2. 您能从这个错误中恢复过来吗?
  3. 您能做什么来预防它?

答案1

我不确定 Excel 是否在我的案例中保存了临时文件。否则,我的经验与问题中列出的第 1、2、3、4 和 5 点相符。我使用的是 Office 11.0 (2003)。

澄清一下,第二点 1 到 5 和第一点。我还没有遇到过愤怒的管理员(目前为止!)。

一种解决方法是将文件修改为只读,然后每当提示保存时,您都必须使用不同的文件名保存,然后覆盖旧文件(并再次将新文件设置为只读)。这样您就不必导出所有模块。

虽然很麻烦,但我认为比导出每个模块并重新导入它们要好。

我开始认为,如果你使用一个相当复杂的软件足够长的时间,你最终会发现一个记录很差(或者根本没有)的错误,而这个错误是无法修复的。

答案2

以下是我针对这个令人沮丧的问题的解决方案。唯一不丢失所有数据的方法就是在工作簿仍打开时复制工作簿中的所有信息并将其粘贴到新工作簿中,然后然后保存。

据推测,创建新文档可使 Excel 启动新的临时文件和路径。

有趣的是,在我为另一个文件启动新工作簿后,另一个打开的工作簿似乎也出现了相同的“文档未保存”消息,但保存并正常关闭了,正如我所描述的那样。但是,我不能 100% 确定这一点 - 下次遇到这个烦人的问题时,我会再试一次。

我可以在网络驱动器上看到各种临时文件,但我没有进入它们。生命太短暂了。

答案3

您的工作可能不会丢失,所以不要惊慌并关闭文件。您可以尝试以下方法:我(有时)能够将未保存的文件中的工作表复制到新工作表或现有工作表中。然后可以保存该文件以及我的工作副本。当然,一旦 Excel 完全崩溃——但它会修复带有副本的文件;虽然原始文件恢复为非常旧的版本,但我的工作并没有丢失。祝你好运。

答案4

我多次遇到过这个问题;如前所述,只有在进行网络保存时才会出现这种情况。当这种情况发生时,我会将文件保存到硬盘上,这样就可以正常工作。然后,为了安全起见,我会关机并重新启动以清理所有后台 RAM 杂乱,然后我可以打开保存文件并重新保存,或者直接将其移动到网络驱动器。

相关内容