Excel有时从共享的networking位置closures时崩溃

这个问题听起来很宽泛而且不具体,但是我已经尝试了很多东西,不知道还有什么可以转的。

我有一个Excel VBA项目 – 它有数百行代码和几个模块,所以我不能真正发布这一切。 它用作模板 – 用户打开文件,对模板进行一系列更改并在某处保存副本。 主模板永远不会改变。

一切都很好,除了当用户closuresExcel时“Excel已停止工作”,它经常崩溃。 它崩溃任何打开的Excel文件,让人相当沮丧。

只有从共享networking位置打开该文件时,才会出现此错误。 我从来没有在本地体验过这种工作。

没有VBA代码执行.BeforeClose可能会干扰。 打开工作簿,我已经设置为获取两个不同的CSV文件,并从它们复制数据。

我已经通过每个模块和子,看看他们是否有助于崩溃 – 但有时工作簿可能会崩溃时closures,而不运行任何VBA代码(Workbook.Open代码之外)

而且,在“只读”模式下(主文件总是只读),它永远不会崩溃 – 只有当用户在某处保存了一个副本,崩溃才会开始。

有没有人有任何提示或想法,我可以进一步解决这个问题? 一直在这个工作,如果我不能尽快解决就要聘请专家。 谢谢!

**编辑4/15 – 只是一个更新,如果有人有解决scheme,仍然在寻找答案。 我唯一能find的问题是在共享networking驱动器上引用文件。 closures后,有没有人有这个想法可能导致崩溃的原因?

很难说这种types的问题。 我认为这是一个反复试验的例子。

我想尝试一下,会是下面的一些。

  1. 在您的Excel工作簿上尝试一个代码清理器。 这一个例如http://www.appspro.com/Utilities/CodeCleaner.htm
  2. 如果可能的话,我会考虑从头重新构build工作簿,然后重新复制代码。我将代码保存到文本文件,并重新从头开始重新制作模块,类和表单。
  3. 我会清理你的临时目录。 Excel将VBA对象保存到临时目录。 如果太大,会导致问题。
  4. 我会检查有没有可能会影响事情的外挂。 尝试删除最低版本的任何未使用的添加。
  5. 在过去,我遇到了一些早期的图书馆的问题,但是更多的是打开导致exception的工作簿。 也许你可以尝试删除引用,并延迟绑定你的对象 – 当然假设你没有在这些对象中使​​用事件。 因此,而不是使用Dim x作为SomeObject,使用CreateObject(“….”)并删除对库的引用。
  6. 我也看看在Microsoft事件查看器,看看你是否可以得到更多的信息。 特定的例外情况可能会帮助您朝正确的方向发展。

对不起,这些有点含糊,但至less你可以试试。 能够远程提供更具体的build议很难,而不能看到发生了什么/testing一些可能的理论。

希望有所帮助。

打开Excel的新实例,导航到您的文件,单击一下,单击打开button上的向下箭头,单击打开并修复。 这有帮助吗?

一个原因可能是由于自动恢复。 当“自动恢复”保存备份副本并且用户还尝试保存时,Excelnetworkingpath上的文件崩溃的可能性非常高。 默认情况下自动恢复运行每10分钟,这也是相当频繁的。 我不是特别确定它为什么崩溃,可能是由于networking延迟。

自动恢复可以被编程翻转。 但是它将在应用程序级别而不是工作级别closures。 因此,请记住在退出不想使用AutoReceover的工作簿时将其重新打开。

希望这可以帮助。

我在我的组织中也使用共享驱动器的Excels …可能有很多原因,并取决于您正在使用共享驱动器。 如果您使用的是基于Web的共享驱动器,并且与Macros不兼容,则会卡住Excel。 这基本上与办公室共享点有关。

还需要缩短代码,并需要在VBA代码中显式使用Option,并描述所有variables。 有时由于缺less定义的variables,它将停止工作,Excel会卡住。

此外,您需要禁用Excel中的ADD-INS,以使其工作更快。 如果你能分享代码,人们可以更好地分辨为什么它不能完美运行。 如果您可以分享您正在使用的共享驱动器的types,我们可以检查,因为我过去面对同样的事情,我工作了我的代码,再次分享驱动器。