String 匹配两个字符串VBA

String 匹配两个字符串VBA,string,vba,excel,conditional,String,Vba,Excel,Conditional,这一次真的让我感到困惑,但似乎有一个简单的解决办法 我有一个代码,其中我匹配两个字符串,如果它们不匹配,则显示Failed;如果它们匹配,则显示Done 我首先抓取要附加在这里的文本 .... Do While ie.getRowsInTables("tbl_business") ' table class name For Each tr In ie.tableRows For Each cell In tr.Cells If (InSt

这一次真的让我感到困惑,但似乎有一个简单的解决办法

我有一个代码,其中我匹配两个字符串,如果它们不匹配,则显示
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)
...
在这里,我尝试使用条件语句吐出“完成”或“失败”

...   
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
时,它们似乎是完全相同的语句


我遗漏了什么?

根据您在innerHTML中编写的内容,无法保证它的读取结果与您输入时完全相同

例如,如果设置innerHTML=“A{six spaces}B”,它将被读回为“A{one space}B”,因为在HTML中,多个空间通常会折叠为单个空间


总之,如果您需要随机文本原封不动地返回,innerHTML不是存储随机文本的好地方。

对于布尔表达式使用
,对于字符串连接使用
&
,对。我基本上是想在网站的文本区域添加内容。嗯。。所以字符串是不同的。是否检查换行符或附加空格?您还可以使用一些编辑器并更改为十六进制视图。。。为了一个字符一个字符地比较…我想过这样做,但我没有尝试过,我想我可能是一个我不知道的数据类型问题。