【问题标题】:ActiveX component cant create object: Mercury.ObjectRepositoryUtilActiveX 组件无法创建对象:Mercury.ObjectRepositoryUtil
【发布时间】:2013-04-25 18:59:11
【问题描述】:

我创建了一个 VB 脚本,它将 QTP 的对象存储库文件 (.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。

【问题讨论】:

  • 你注册DLL的时候成功了吗?
  • 是的,成功了。
  • 我提取了代码并仅运行 CreateObjectExportToXML 部分,它按照您的描述对我有用。会不会是其他地方出错了?

标签: vbscript qtp activexobject


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2010-12-25
    • 2018-01-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 2012-07-10
    • 2014-06-09
    相关资源
    最近更新 更多