2016-05-06 10 views

Antwort

0

Sie haben keine Angaben zu Ihrer Webtable gemacht, daher gehe ich davon aus, dass sie nur Spalten mit mehreren Zeilen enthält. Wenn sie mehrere haben, initiieren Sie ein Array und vergleichen Sie es dann. Es wird true zurückgeben, wenn alle Werte in der Excel mit der Webtabelle übereinstimmen.

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 

Weiter

End Function

+0

Ich habe das Snap von Excel und Webtabelle angefügt ... Eigentlich muss ich die erste Zeile der Webtabelle nehmen und mit der Excelzeile übereinstimmen (in welcher Zeile in Excel stimmt es überein, Fail wenn Übereinstimmung nicht gefunden wird – naveen

0

Lesen Sie zunächst in ein Array Ihre Reihen von Daten aus dem 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 

Sobald Sie diese Array haben, können Sie eine Schleife durch jeden Wert und Überprüfe die Excel-Tabelle. Es gibt ein paar Möglichkeiten, wie Sie das erreichen können.

  1. Legen Sie die Excel-Tabelle als Datentabelle und iteriert durch die Reihen für die Spiele suchen
  2. die Datei direkt abfragen SQL verwenden, wenn die Werte in der Web-Tabelle
  3. Zugriff auf die Datei über die COM existieren zu überprüfen Verwenden Sie die Suchfunktion von Excel, um Ihre Daten zu finden.

Die am wenigsten komplexe davon ist 1, also werde ich Details, die hier nähern:

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 

Diese importiert Ihre Excel-Datei und für jedes Element in der webtable Array, prüft, ob es in der Excel-Tabelle. Wenn es gefunden wird, wird es beendet und markiert das Array-Element als gefunden. Wenn es ohne Einstellung von bFound auf True abgeschlossen wird, wurde es nicht gefunden und entsprechend aktualisiert.

Sie können dann den Inhalt Ihres Arrays nach Belieben ausgeben, um Ihre Ergebnisse zu erhalten.