匹配两个字符串 VBA
matching two strings VBA
这个真的让我难住了,但似乎有一个简单的解决方案。
我有一个代码,我匹配两个字符串,如果不匹配则显示 Failed
,如果匹配则显示 Done
。
我先抓取文字追加到这里
....
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
...
这是我设置文本区域的地方:
...
tmpString = ie.SetPageID("SystemComments", innerText & vbCrLf & "eATO: " & eMASSFieldAppender.cbATO.text & vbCrLf & "PSO: " & eMASSFieldAppender.tbPSO.text & vbCrLf & "AMP: " & eMASSFieldAppender.tbAMP)
...
这是我尝试条件语句吐出的地方done or failed
...
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
...
请注意我的代码功能齐全,但它与那些语句不匹配。
当我执行 Debug.Print
时,它们似乎是完全相同的语句。
我错过了什么?
根据您向内部写入的内容HTML,无法保证读出的内容与您放入时完全相同。
例如,如果您设置 innerHTML = "A{six spaces}B",它会读回 "A{one space}B",因为多个 space 通常会折叠成一个 space 在 HTML.
底线,内部HTML不是一个存储随机文本的好地方,如果你需要它返回不变..
这个真的让我难住了,但似乎有一个简单的解决方案。
我有一个代码,我匹配两个字符串,如果不匹配则显示 Failed
,如果匹配则显示 Done
。
我先抓取文字追加到这里
....
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
...
这是我设置文本区域的地方:
...
tmpString = ie.SetPageID("SystemComments", innerText & vbCrLf & "eATO: " & eMASSFieldAppender.cbATO.text & vbCrLf & "PSO: " & eMASSFieldAppender.tbPSO.text & vbCrLf & "AMP: " & eMASSFieldAppender.tbAMP)
...
这是我尝试条件语句吐出的地方done or failed
...
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
...
请注意我的代码功能齐全,但它与那些语句不匹配。
当我执行 Debug.Print
时,它们似乎是完全相同的语句。
我错过了什么?
根据您向内部写入的内容HTML,无法保证读出的内容与您放入时完全相同。
例如,如果您设置 innerHTML = "A{six spaces}B",它会读回 "A{one space}B",因为多个 space 通常会折叠成一个 space 在 HTML.
底线,内部HTML不是一个存储随机文本的好地方,如果你需要它返回不变..