2016-06-28 2 views
0

My codeが既存のExcelファイルにデータを保存できません。私はそれがExcelシートにwebtableからデータをコピーしている地元の窓から見ることができますが、私は、私はそれがあなたのためだと思うWebtableの内容をqtpのexcelファイルに保存できません

path = "D:\Demo\TestData\Shopping_Cart.xls" 

set xl= CreateObject("excel.application") 
xl.workbooks.open(path) 
set nsheet=xl.sheets.item(1) 

Set BrwsrCheckOut= Browser("name:=Checkout","title:=Checkout - Internet Explorer").page("title:=Checkout","name:=.*") 
Set DesPrdChcKOut = Description.Create 
DesPrdChcKOut("html tag").value = "TABLE" 
DesPrdChcKOut("column names").value = "Product Name;Model;Quantity;Price;Total" 

For IteratorRow = 1 To 2 

'BrwsrCheckOut.WebTable(DesPrdChcKOut).RowCount Step 1 
     For IteratorCol = 1 To 3 

     'BrwsrCheckOut.WebTable(DesPrdChcKOut).ColumnCount(1) Step 1 

    val = BrwsrCheckOut.WebTable(DesPrdChcKOut).GetCellData(IteratorRow, IteratorCol) 

    Next 

Next 
'xl.Activeworkbook.saveAs "D:\Demo\TestData\Shopping_Cart.xls" 
xl.Activeworkbook.save 
nsheet.SaveAs("D:\Demo\TestData\Shopping_Cart.xls") 
xl.ActiveWorkbook.Close 



Set xl = nothing 
Set nsheet = nothing 
+0

あなたは出て戻ってそれを輸出した後、利用可能 'Datatable'機能を使用してUFT以内にそれを更新し、データテーブルとしてExcelファイルをインポートすると考えられていますか?とにかくExcelオブジェクトを作成するよりも簡単です... – Dave

答えて

1

ここに何も悪いことをしないのです場合は、修正してくださいdetails.Couldを保存することはできませんActiveWorkbookメソッドを使用しています。アクティブなブックメソッドを使用する場合、他のブックが開いていない/アクティブな状態になっていないことに非常に注意してください。

これらをすべて回避するには、次の方法が適しています。

path = "D:\Demo\TestData\Shopping_Cart.xls" 
Set oxl = CreateObject("Excel.Application") 
Set wbk = oxl.workbooks.open(path) 
sheetname = "Output" ' You can also refer the sheet by index 
Set sheet = wbk.sheets(sheetname) 

'Logic to retreive the data from webtable 
for i=1 to number_of_rows 
    ' update the data in excel 
next 

'Save the workbook 
wbk.save 
wbk.close 
oxl.quit 

それが動作するかどうか私に教えてください。

+0

これを見ていただきありがとうございますが、これはExcelシート上のwebtableの詳細を保存していません –

+1

私はここで間違いを理解したようです。私は自分のコードで 'sheet.cells(row、col)= data'を使うと仮定します。ありがとう –

+0

@ nandeshkalyankar、あなた自身で解決することができれば、ソリューションに独自の答えを加え、それを受け入れることもできます –

関連する問題