【发布时间】:2017-06-20 13:11:18
【问题描述】:
我有一行代码:
Dim objExcel
Set objExcel = CreateObject("Excel.Application")
Msgbox Err.number
当我在 .vbs 文件中运行此代码时,它会成功执行而不会引发任何错误(Err.number=0)。(我刚刚在桌面上创建了一个文本文件,将其扩展名从 txt 更改为 vbs,插入了这个代码,保存并双击vbs文件-它运行正确而没有错误-不确定这种方法默认使用32位还是64位wscript.exe。我需要理解这一点。除了主要的,有人可以解释一下吗下面的问题?)
问题:
当我将此代码放在 UFT 脚本中时,它会抛出错误 429 - ActiveX 组件无法创建对象。一直卡在Set objExcel = CreateObject("Excel.Application")线上一段时间,最后抛出错误429。
附加信息:
Windows 7(64 位)
UFT - 32 位 - 版本:12.02
Excel - 32 位(版本 - 14.0.7181.5000)
我已经针对这个问题查看了很多地方,我认为这与一些答案here中提到的架构不匹配有关(不确定我是否将你们指向正确的地方)。
如果有人解释为什么代码在 vbs 中运行良好但在 UFT 脚本中运行良好,我将不胜感激?我真的需要让它在 UFT 脚本中工作。
感谢您的帮助。
【问题讨论】:
-
我已成功使用该命令在大量 UFT 脚本中创建 Excel 对象。我注意到 Excel 时不时无法正常启动,并且脚本会挂在该命令上,直到最终超时。如果您检查任务管理器,您可能会看到
Excel.exe进程坐在那里。终止进程,UFT 更快地重新获得控制权,允许您重试该步骤,此时(当然在我的脚本中)该进程正常工作。 -
在我的脚本中,这件事已经通过执行杀死 excel.exe 进程的代码(函数)来处理。它可以正常工作并关闭所有打开的 excel 实例。
-
+1 @Dave。因此,为了更安全,只需在完成所有 Excel 进程后关闭它们。您使用的 Excel 版本是什么?
-
在两个系统上运行来自 Orasi 的
This实用程序。这将生成有关系统和 UFT 的详细报告。然后比较并寻找差异。 -
对于您问题的第一部分,请查看
link。