簡體   English   中英

腳本在調試模式下工作,但在正常運行下不工作-錯誤代碼:429(ActiveX組件無法創建對象)

[英]Script working in Debug Mode but not in Normal Run - Error Code: 429(ActiveX Component Can't Create Object')

UFT版本:12.02(內部版本:2374)

作業系統:Windows 7(64-Bit)

在我的應用程序中,有一個DataGrid和一個“導出到Excel按鈕”。 當我單擊該按鈕時,將打開一個excel文件(Data.xlsx),其中包含網格中存在的所有數據。 我只需要將此excel文件保存到某個位置。 我正在使用“ GetObject”方法來獲取對打開的Excel文件的引用,如下面的代碼所示。

問題:當我在調試模式下運行此代碼時,它工作正常,沒有出現任何錯誤,並且excel成功保存在正確的位置。 但是,當我運行相同的代碼(“正常運行”而不是在“調試”中運行)時,出現錯誤代碼:429(ActiveX組件無法創建對象),如下所示。 我不確定為什么在“正常運行”中遇到此問題。

碼:

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

EDIT1:如果我在代碼中使用以下行,則會出現附件圖像中顯示的語法錯誤。

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

在此處輸入圖片說明

編輯2:只是一個摘要,

  1. 如果我使用以下行,則在調試過程中不會出現任何錯誤,但在正常運行期間會出現錯誤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") 

只需使用

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

它將顯示語法錯誤,但是忽略它,您的腳本將運行正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM