从共享网络位置关闭Excel时有时会崩溃

t1rydlwq  于 2023-01-27  发布在  其他
关注(0)|答案(4)|浏览(185)

这个问题听起来很宽泛,也不具体,但我已经尝试了很多方法,不知道还能从哪里着手。
我有一个Excel VBA项目--它有数百行代码和几个模块,所以我无法真正将其全部发布。它的工作原理是作为一个模板--用户打开文件,对模板进行一系列修改,然后将副本保存在某个地方。主模板永远不会更改。
一切都运行得很好,除了当用户关闭Excel说“Excel已经停止工作”时,它经常崩溃。它会崩溃任何打开的Excel文件,所以非常令人沮丧。
这个错误只发生在从共享网络位置打开文件时。我从来没有在本地遇到过这种情况。
没有执行VBA代码。BeforeClose可能会干扰。在打开工作簿时,我将其设置为提取两个不同的CSV文件并从其中复制数据。
我已经检查了每个模块和子模块,看看它们中是否有导致崩溃的因素--但有时工作簿可能在关闭时崩溃,而没有运行任何VBA代码(Workbook.Open代码之外)
此外,它永远不会崩溃时,在'只读'模式(主文件总是只读)-只有一旦用户保存了一个副本的地方将崩溃开始。
有人对我如何进一步解决这个问题有任何建议或想法吗?我一直在努力解决这个问题,如果我不能很快解决,我将聘请Maven。谢谢!

**编辑4/15 -只是一个更新,仍然在寻找答案,如果有人有解决方案。唯一的事情,我可以找到有关的问题是引用文件在一个共享的网络驱动器。关闭时,有没有人能想到的原因,可能会导致崩溃?

ni65a41a

ni65a41a1#

这类问题很难说。我想这对你来说是一个反复试验的案例。
我最初会尝试的是下面的一些方法。
1.在Excel工作簿上尝试代码清理器。例如http://www.appspro.com/Utilities/CodeCleaner.htm
1.如果可能的话,我会考虑从头开始重建工作簿,然后重新复制代码。我会将代码保存到文本文件中,然后从头开始重新制作模块、类和工作表。
1.我会清理你的临时目录。Excel将VBA对象保存到临时目录。如果它太大,会导致问题。
1.我会检查是否有加载项可能会影响事情。尝试删除任何未使用的最低版本添加。
1.在过去,我遇到过一些早期绑定的库的问题,但更多的是打开工作簿时会导致异常。也许你可以尝试删除引用并后期绑定你的对象-当然前提是你没有在这些对象中使用事件。所以不要使用Dim x作为SomeObject,而是使用CreateObject(“....”)并删除对库的引用。
1.我还将查看Microsoft事件查看器,以了解您是否可以获得任何详细信息。特定的异常可能会帮助您找到正确的方向。
抱歉,这些建议有点模糊,但至少你可以尝试一下。如果不能看到正在发生的事情/测试一些可能的理论,就很难远程给予更具体的建议。

ergxz8rk

ergxz8rk2#

打开Excel的一个新示例,导航到您的文件,单击一次,单击“打开”按钮上的向下箭头,单击“打开并修复”。这有帮助吗?

2izufjch

2izufjch3#

一个原因可能是由于自动恢复。当自动恢复保存备份副本,用户也试图保存,有一个非常高的机会,Excel将崩溃的文件在网络路径上。自动恢复默认运行每10分钟,这也是相当频繁。我不是特别确定为什么它崩溃,可能是由于网络延迟。
自动恢复功能可以通过编程方式关闭。但它将在应用程序级别而不是工作簿级别关闭。因此,请记住,在退出不想使用自动恢复功能的工作簿时,请重新打开它。
希望这个有用。

nfg76nw0

nfg76nw04#

我正在使用excel与共享驱动器太在我的组织...可能有很多原因,并取决于共享驱动器您正在使用。如果您正在使用的共享驱动器是基于网络的,不兼容宏,它会卡住excel。这基本上是与办公室共享点的问题。
此外,您需要缩短代码,并需要在VBA代码中显式使用选项,并描述所有变量。有时由于缺少定义的变量,它会停止工作,Excel会卡住。
此外,您需要禁用Excel中的ADD-INS,使其工作得更快。如果您可以共享代码,人们可以更好地告诉为什么它不能完美地工作。如果您可以共享您正在使用的共享驱动器类型,我们可以检查,也因为我在过去面临同样的事情,我对我的代码和共享驱动器再次工作。

相关问题