2

QTP のオブジェクト リポジトリ ファイル (.tsr) を XML に変換してから Excel に変換する VB スクリプトを作成しました。この 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 で、スクリプトを実行すると、「Microsoft VBScript ランタイム エラー: 無効なプロシージャ コールまたは引数」というエラーが表示されます。

私は何が欠けていますか?それを理解することはできません。

ご協力ありがとうございました。繰り返しますが、このコードは複数のマシンで完全に正常に動作します。新しいマシン (64 ビット) には、QTP 11.0 の代わりに統合機能ツール 11.5 があります。

4

1 に答える 1

1

コマンドラインからスクリプトを開始してみてください: %SystemRoot%\SysWow64\cscript <yourscript-here>. 64 ビット マシンは自動的に 64 ビット インタープリターを開始しますが、この com オブジェクトはそれと互換性がありません

于 2013-10-14T15:07:04.890 に答える