【发布时间】:2017-03-17 22:37:09
【问题描述】:
快速概览:我为一家公司开发 Excel 宏。每天有 200 多名工人使用宏。这 200 个工作人员将本地机器连接到一个公共服务器(实际上有 3 个服务器)并从那里运行宏。
问题:今天早上,其中一些宏(不同的宏)开始使 Excel 崩溃,并显示典型消息“Excel 已停止工作”。这些宏(我没有更新)每天运行都没有问题。今天,就像魔术一样,他们开始为不同的代码行崩溃,唯一的共同点是他们使用了大量的资源。
例如:
sh.UsedRange.Value = sh.UsedRange.Value (the UseRange is alcually a pretty small range)
Application.Calculate
wb.Sheet1.Move
我知道这些函数会占用大量内存,但直到今天它们仍然可以正常工作数月。我知道这可能更像是 IT 问题,但由于我正在尝试解决这个问题,我想也许你们中的一个人之前遇到过这个问题或者知道可能的原因(比如 Windows 更新)。
IT 已经在我们用于远程连接的所有服务器中重新安装了 Excel,但问题仍然存在。
有什么想法吗?
非常感谢,
【问题讨论】:
-
检查事件日志。寻找异常代码。您最近更新了防病毒软件吗?
-
application.calculate 将计算所有打开的 excel 文件,如果用户打开了一个包含许多数组或易失性公式的文件,则可能会导致您描述的级联。
-
知道了@ScottCraner,但我们每天至少运行这个宏(Application.Calculate)100 次,就在今天,它每次运行它的每个特定案例都开始中断。很奇怪,就在今天,当我们开始收到其余的错误时,这个错误出现了。
-
@cyboashu 我询问了 IT 部门是否更新了防病毒软件。会让你知道他们说什么...
-
您的 IT 部门是否安装了 MS Office 更新?我记得大约 4 年前,MS 提供了一个更新,导致我的一些代码停止工作,因为它搞砸了一些 ActiveX 对象。值得研究!