ActiveX组件不能createobject:Mercury.ObjectRepositoryUtil

时间:2013-04-25 18:59:12

标签: vbscript qtp activexobject

我创建了一个VB脚本,将QTP的Object Repository文件(.tsr)转换为XML,然后转换为Excel。此Excel文件格式也通过VB脚本配置。它工作得很好,我试图在一台新机器上运行它,我收到一个错误:

ActiveX组件无法创建对象:Mercury.ObjectRepositoryUtil。

脚本:

Public Function ExportTSRToXML(TSRPath,XMLPath)
Set XMLRepositoryObj = CreateObject("Mercury.ObjectRepositoryUtil")
XMLRepositoryObj.ExportToXML TSRPath, XMLPath
ExportTSRToXML = XMLPath
Set XMLRepositoryObj = Nothing
End Function

以下是解决此问题的步骤: 1.使用REGSVR32注册RepositoryUtil.dll 2.使用SYSWOW64下的CSCRIPT.exe运行vbscript文件

在上面提到的第2步,我看到脚本执行时的错误: “Microsoft VBScript运行时错误:无效的过程调用或参数”

我错过了什么?无法弄明白。

感谢您的帮助。同样,此代码在多台计算机上完全正常运行。新机器(64位)具有统一功能工具11.5而不是QTP 11.0。

1 个答案:

答案 0 :(得分:0)

尝试从命令行启动脚本:%SystemRoot%\SysWow64\cscript <yourscript-here>。 64位机器自动启动64位解释器,此com对象与它不兼容