Excelテーブルに10行のデータと100行のWebテーブルがあります。QTP Webtable RowとExcel ROWを比較
webtableデータの10行がExcelに存在するかどうかを確認する必要があります。また、exc enter image description here elに一致する行を印刷する必要があります。
Excelテーブルに10行のデータと100行のWebテーブルがあります。QTP Webtable RowとExcel ROWを比較
webtableデータの10行がExcelに存在するかどうかを確認する必要があります。また、exc enter image description here elに一致する行を印刷する必要があります。
Webtableの詳細を提供していないので、複数のrows.ifが複数の列を持っていて、それを比較していると仮定しています。 Excelのすべての値がウェブテーブルと一致する場合はtrueを返します。
Function Chktbl (coulmnname,sheetname,tblname)
Chktbl = True
Dim marray,excelop,weblistcount,l,m,k
l = datatable.LocalSheet.GetRowCount
For m = 1 To l
datatable.LocalSheet.SetCurrentRow m
excelop=trim(Datatable.Value(""&coulmnname,""&sheetname))
webcount = Browser("name:=.*").Page("title:=.*").Webtable("name:="&tblname).Rowcount
For k = 1 to webcount
marray = Browser("name:=.*").Page("title:=.*").Webtable("name:="&tblname).getcelldata (k,1)
If excelop= "" Then
Exit For
End If
If Ucase(excelop) = Ucase(trim(marray)) Then
Exit For
ElseIf k = webcount Then
reporter.ReportEvent micFail,"No match","Fail"
Chktbl = False
Exit For
End If
Next
次
エンド機能
私はExcelとWebテーブルのスナップを添付して見て...実際には、Webテーブルの第1行を取得し、Excelの行と一致する必要があります。 – naveen
まず、あなたはそれぞれの値によって、この配列することができますループを持っていたら、配列にWebTable
Dim Table, CheckArray
Set Table = Browser("YourBrowser").Page("YourPage").WebTable("YourTable")
ReDim CheckArray(Table.RowCount - 1) ' Arrays index from 0, table rows from 1
For iLoop = 1 to Table.RowCount
CheckArray(iLoop-1) = Table.GetCellData(iLoop, 1)
Next
からのデータのあなたの行を読んで、 Excelテーブルに対してチェックします。これを達成するにはいくつかの方法があります。
これらの最も複雑では1であるので、私はここに近づいて細部よ:
Datatable.Import("YourExcelFilePathHere.xls", Global)
iRowsToCheck = DataTable.GetRowCount
For iLoop = 0 to Ubound(CheckArray)
bFound = False
For iSubLoop = 1 to iRowsToCheck
DataTable.SetCurrentRow(iSubLoop)
If CheckArray(iLoop) = Datatable.Value("ColumnName") Then
bFound = True
Exit For
End If
Next
If bFound Then
CheckArray(iLoop) = CheckArray(iLoop) & " was found"
Else
CheckArray(iLoop) = CheckArray(iLoop) & " was not found"
End If
Next
これはあなたのExcelファイルをインポートし、webtable配列の各要素について、でそれをチェックテーブルを席巻する。見つかった場合、それは終了し、配列項目を見つかったものとしてマークします。 bFound
をTrueに設定せずに完了すると、それは見つからず、それに応じて更新されます。
あなたの結果を得るためにあなたの配列の内容を出力することができます。
解決策を見つけようとしたことはありますか? –