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

时间:2014-05-07 19:46:33

标签: vba excel-vba excel-2007 excel

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

  1. 只有在运行2007年,2010年和2013年的机器上才会发生这种问题。

  2. 每两周才会发生一次(每3-5个版本的工具)。这些相同的机器每天都在运行和测试工具,直到它发生为止。

  3. 有效版本与代码角度版本之间没有明显差异。

  4. 有几个例子,机器将运行VBA代码很好,突然错误将开始发生。一旦2007年的机器遇到错误,该文件将永远不会再在该机器或任何其他2007机器上运行。但是,如果给出同一个确切文件的新副本,有时问题就会消失。

  5. 经过一些在线评论后,我已将错误跟踪到三个正在使用的引用:OLE自动化,Microsoft Office 12.0对象库,Microsoft CDO for Windows 200 Library。如果以任何组合禁用这三个中的任何一个,VBA将开始运行无错误。

  6. 我的问题是:

    1. 什么可能导致错误导致工具在计算机上运行十几次(保存或不保存更改)并突然停止运行并且在更换新副本之前再也不会运行?
    2. 上述三个参考文献之间可能的相互作用可能与此相关吗?

1 个答案:

答案 0 :(得分:5)

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