最近在测试自己做的一款校验软件时发生了"自动化(automation)错误",我的系统是由EXCEL的VBA调用ACCESS中的方法,并且传入集合等参数。
当然由于我的电脑更换了,换了OFFICE版本,导致了这个问题,但是任凭我如何重装OFFICE或者装回原来的版本,仍然无法解决这个问题。
这个报错代码在ACCESS中,问题报错在我的collection集合上。如下代码就是报错行。
For Each SEQ_KQ In SEQ_coll
于是我进行调试了下,发现该集合不是一RUN到这句就报错,是循环了若干次后才报错。我网上查了很多关于这个automation的报错,都无法解决我的问题。
在我万念俱灰时,抱着继续尝试的心态,在调用这个报错的function前,先对这个集合进行遍历,想输出看看内容。
于是我加了一段没有意义的代码:
For Each x In SEQ_coll
Debug.Print
Next x
结果运行直接完成了!!我喜出望外!
当然我并不清楚为什么先遍历下可以防止发生automation的这个报错。
但是作为小白,这个也是解决的一个办法,于是我马上去愉快的玩耍了。
如有大神可以知道其根本原因也不吝赐教!