零星的自动化错误:发生异常,可能是基于参考的

问题描述 投票:2回答:1

我的团队在开发期间遇到了这个奇怪的错误。在我的团队正在构建的excel工具上不时运行VBA时,Excel将崩溃并且“Microsoft已停止工作”弹出窗口将出现,当用户选择“关闭程序”选项时,另一个弹出窗口说明出现“出现自动化错误异常”。现在这里变得奇怪了:

  1. 它只发生在运行2007年,2010年和2013年的机器上,从未出现过此问题。
  2. 每隔几周才会发生一次(每3-5个版本的工具)。这些相同的机器每天都在运行和测试工具,直到它发生。
  3. 有效的版本与代码角度的版本之间没有明显的区别。
  4. 有几个例子,机器将运行VBA代码很好,突然错误将开始发生。一旦2007年的机器遇到错误,该文件将永远不会再在该机器或任何其他2007机器上运行。但是,如果给出同一个确切文件的新副本,有时问题就会消失。
  5. 经过一些在线审查后,我已将错误跟踪到三个正在使用的引用:OLE自动化,Microsoft Office 12.0对象库,用于Windows 200库的Microsoft CDO。如果以任何组合禁用这三个中的任何一个,VBA将开始运行无bug。

我的问题是:

  1. 什么可能导致错误,允许工具在一台机器上运行十几次(有或没有保存更改)并突然停止运行,并且在更换新副本之前再也不会运行?
  2. 上述三个参考文献之间可能的相互作用可能与此有关吗?
vba excel-vba excel-2007 excel
1个回答
5
投票

经过大量调试后我们终于发现了错误。其中一个程序员有一个在表单加载之前运行的脚本,在该脚本中,他预先填充了表单中的一些列表框。显然因为这个SUB存在于表单之外和/或因为表单还没有被初始化,所以这就是导致excel崩溃的原因。无论如何,希望答案可以帮助那些遇到同样事情的人。

© www.soinside.com 2019 - 2024. All rights reserved.