我在HP UFT 12中創建了一個腳本,該腳本對CSV文件執行網格數據驗證,並將結果保存在帶有兩個工作表的Excel文件中。
我正在使用Excel,因爲它對用戶來說更加清晰,因爲它允許單元格格式化,更容易比較數據等等。如何保存工作簿並處理TITUS(或任何其他文檔分類加載項)彈出窗口?
我的代碼在我的機器上工作,但我的客戶端安裝了TITUS文檔分類加載項,所以每次運行我的腳本時都會掛起,因爲TITUS彈出消息要求用戶在保存時對文檔進行分類。該消息不會顯示給用戶,可能是因爲objExcel.DisplayAlerts = False
,但該腳本不會向前移動。
以下是我的代碼與此事有關的部分(由於保密原因,我省略了大部分代碼)。
Dim objExcel : Set objExcel = CreateObject("Excel.Application")
Dim objWorkbook : Set objWorkbook = objExcel.Workbooks.Add
objExcel.Visible = False
Dim wsGrid : Set wsGrid = objWorkbook.Worksheets(1)
wsGrid.Name = "Grid Data"
Dim wsExported : Set wsExported = objWorkbook.Worksheets.Add
wsExported.Name = "Exported Data"
' Internal code to perform validation and fill worksheets ...
objExcel.DisplayAlerts = False
objWorkbook.SaveAs "C:\my_folder_path\my_file_name.xls" ' This is where it hangs in machines where the add-in is installed
objWorkbook.Close
objWorkbook.Quit
Set objWorkbook = Nothing
Set objExcel = Nothing
我已經在網上搜索,但到目前爲止還沒有找到任何相關的東西。我確實發現了this和this,但它們與Outlook的TITUS相關,並且都沒有妥善解決問題。
有誰知道如何解決這個問題,或者可以指點我的研究材料來幫助我解決這個問題?
在此先感謝。
如果這是在UFT中運行,你不能添加相關的彈出到對象庫並處理它的方式嗎? – Dave
@Dave,這是我還沒有嘗試過的一件事。我沒有在我的機器上安裝加載項。此外,該對象在運行時不可見。即使它們不可見,是否可以處理組合框和按鈕對象?我能否在不可見的按鈕中執行類似'objButton.Click'的操作。 –
如果它作爲插件運行到excel,對話框應該可以通過Excel本身訪問 - 也許有一個VBA方法可以實現以編程方式處理彈出窗口?也許你可以在你的開發機器上安裝插件來找出處理它的最佳方法?如果一切都失敗了,你總是可以使用'SendKeys'調用來回顯一個'Enter'到Excel應用程序,希望清除彈出窗口? – Dave