脚本工作在debugging模式但不正常运行 – 错误代码:429(ActiveX组件不能创build对象)

UFT版本:12.02(Build:2374)

操作系统:Windows 7(64位)

在我的应用程序中,有一个DataGrid和一个“导出到Excelbutton”。 当我点击该button时,会打开一个包含网格中所有数据的Excel文件(Data.xlsx)。 我只需要将这个Excel文件保存到一个位置。 我正在使用“GetObject”方法来获取对打开的Excel文件的引用,如下面的代码所示。

问题:当我在debugging模式下运行这个代码,它工作正常,我没有得到任何错误,并成功保存在正确的位置的Excel。 但是,当我运行相同的代码(正常运行 – 不在debugging中),我得到错误代码:429(ActiveX组件不能创build对象),如下所示。 我不知道为什么我在正常运行中遇到此问题。

码:

Dim l_objExcel, l_objExcelBook Execute "Set l_objExcel = GetObject(,""Excel.Application"")" 'getting error 429 here in Normal Run 'I could have just used- Set l_objExcel = GetObject(,"Excel.Application") but it doesn't seem to work. It throws the syntax error(Expected Expression) at this line Set l_objExcelBook = l_objExcel.ActiveWorkBook l_objExcelBook.SaveAs strSavePath 'strSavePath contains the File save location l_objExcelBook.Close l_ObjExcel.Quit Set l_objExcelBook = Nothing Set l_objExcel = Nothing 

编辑1:如果我在代码中使用下面的行,我得到附加图像中显示的语法错误。

 Set l_objExcel = GetObject("",""Excel.Application"") 

在这里输入图像说明

编辑2:只是一个总结,

  1. 如果我使用下面的行,那么在debugging期间Ii不会得到任何错误,但是在正常运行期间得到错误429。

     Execute "Set l_objExcel = GetObject(,""Excel.Application"")" 
  2. 如果我使用下面的行,我得到语法错误“Expected Expression”

     Set l_objExcel = GetObject(,"Excel.Application") 
  3. 如果我使用下面的行,我不会在这一行得到任何错误,但开始得到错误424(对象需要)在我试图保存文件的行中。

     Set l_objExcel = GetObject("","Excel.Application")