脚本工作在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:只是一个总结,
-
如果我使用下面的行,那么在debugging期间Ii不会得到任何错误,但是在正常运行期间得到错误429。
Execute "Set l_objExcel = GetObject(,""Excel.Application"")"
-
如果我使用下面的行,我得到语法错误“Expected Expression”
Set l_objExcel = GetObject(,"Excel.Application")
-
如果我使用下面的行,我不会在这一行得到任何错误,但开始得到错误424(对象需要)在我试图保存文件的行中。
Set l_objExcel = GetObject("","Excel.Application")