2017-06-05 2 views
0

Dieser hat mich wirklich ratlos, aber es scheint, als gäbe es eine einfache Lösung.passende zwei Saiten VBA

Ich habe einen Code, wo ich zwei Zeichenfolge übereinstimmen, um Failed anzuzeigen, wenn sie nicht übereinstimmen und Done ist, wenn sie tun.

packe ich zuerst den Text hier anhängen

.... 
    Do While ie.getRowsInTables("tbl_business") ' table class name 
    For Each tr In ie.tableRows 
     For Each cell In tr.Cells 
      If (InStr(cell.innerHTML, "SystemComments")) Then 
       innerText = cell.innerText 
      End If 
     Next 
    Next 
    Exit Do 
Loop 
... 

Dies ist, wo ich den Textbereich ein:

... 
tmpString = ie.SetPageID("SystemComments", innerText & vbCrLf & "eATO: " & eMASSFieldAppender.cbATO.text & vbCrLf & "PSO: " & eMASSFieldAppender.tbPSO.text & vbCrLf & "AMP: " & eMASSFieldAppender.tbAMP) 
... 

Dies ist, wo ich eine bedingte statment versuchen done or failed

auszuspucken
... 
If (ie.GetEditSipPage(emass_id) = True) Then 
    tmpString = ie.GetPageID("SystemComments") 

    If (tmpString = innerText & vbCrLf & "eATO: " & eMASSFieldAppender.cbATO.text & vbCrLf & "PSO: " & eMASSFieldAppender.tbPSO.text & vbCrLf & "AMP: " & eMASSFieldAppender.tbAMP) Then 

     Worksheets(wrksht).Cells(readRow, 2).value = "Done" 
    Else 
     Worksheets(wrksht).Cells(readRow, 2).value = "FAILED TO UPDATE" 
    End If 
... 

Bitte beachten Sie, dass mein Code voll funktionsfähig ist, aber diesen Status nicht erfüllt mungen.

Wenn ich eine Debug.Print mache, scheinen sie die gleichen genauen Aussagen zu sein.

Was fehlt mir?

+0

Verwenden '' 'and''' für Booleschen Ausdrücken und' '' & '' 'für String Concentration ... –

+0

rechts. Ich wollte im Grunde hinzufügen, was bereits im Textbereich auf der Website war. – ShanayL

+1

Hmm .. so sind die Saiten anders. Haben Sie die Zeilenvorschubzeichen oder zusätzliche Leerzeichen überprüft? Sie können auch einen Editor verwenden und zu einer Hex-Ansicht wechseln ... um Zeichen für Zeichen zu vergleichen ... –

Antwort

0

Je nachdem, was Sie innerHTML- schreiben, gibt es keine Garantie wird es wieder heraus genau das gleiche wie lesen, wenn Sie ihn in.

Zum Beispiel, wenn Sie innerHTML- = „A {sechs Räume} gesetzt B "es wird wieder als" A {ein Leerzeichen} B "gelesen, da mehrere Leerzeichen in HTML in der Regel auf ein einzelnes Leerzeichen reduziert werden.

Unterm Strich ist innerHTML- kein guter Ort zufälligen Text zu speichern, wenn Sie sie brauchen, um wieder unverändert zu kommen ..