【问题标题】:Excel 2007 crashing when saving workbook after running macro运行宏后保存工作簿时 Excel 2007 崩溃
【发布时间】:2014-09-30 14:35:12
【问题描述】:

我在 Windows 7 64 位机器上使用 Excel 2007(32 位)。

我有一个包含 12 个工作表和 18 个 VBA 模块的大型工作簿。

我所有的子程序都运行完美,但有一个导致以下问题:

宏本身按照指定的方式从头到尾成功运行。成功运行宏后,工作簿崩溃,当我尝试保存它时。当 AutoSave 尝试保存工作簿时,它也会崩溃。当我简单地关闭它时,工作簿不会崩溃。 崩溃是指我收到消息“Microsoft Office Excel 已停止工作”。

在 Windows 事件查看器中,我发现了错误消息 0xc0000005。

在保存工作簿的文件夹中,我找到了 Excel 在保存工作簿时创建的临时文件(名称类似于 9BB7B000)。

我尝试在控制面板的程序和功能部分修复 Excel,但没有成功。此外,没有启用任何加载项。

我怀疑导致问题的宏的代码模块太大(90KB),因此我将其拆分为两个小于 64KB 的模块。但是,问题仍然存在。

我将不胜感激有关此问题的任何帮助。如果可能的话,我想绕过手动重建工作簿,因为这将意味着巨大的努力。

非常感谢您。

乔辰

【问题讨论】:

    标签: excel vba crash save


    【解决方案1】:

    在 Excel 选项中关闭自动保存功能

    【讨论】:

    • 你能解释一下这是如何回答这个问题的吗? How to answer
    【解决方案2】:

    帖子是 9 个月前的,你能修复它吗?

    那个特定的宏有什么作用?因为这个问题有几种解决方案。

    您的宏中的某个“操作”似乎花费了太长时间。 您可以搜索该特定操作和我们application.wait 以减慢您的宏。如果这不起作用,您将不得不找到一种方法来减少“工作量”。但要做到这一点,我需要看看你的代码。

    【讨论】:

      【解决方案3】:

      我前段时间遇到了同样的问题,并进行了一项研究以找出问题,但无济于事。

      我注意到它在具有更好 procs 和更多内存的工作站上运行良好。

      但是,我继续进行的唯一方法是创建一个新工作簿,并从旧工作簿中逐一复制每个工作表,然后查看是哪一个导致了问题。如果宏导致错误,请尝试在循环之间添加“睡眠”命令,以便 Excel 文件重新获得控制权并可以执行和等待事件/命令。

      【讨论】:

      • 非常感谢您的回复!我在代码中添加了睡眠命令,但不幸的是问题仍然存在。我将尝试您提到的其他可能性(不同的工作站和一对一的方法)。