VBA断线?
我公开承认我对vba一无所知 我正在为一个项目开发一个遗留工具,它是用VBA编写的。我正在处理一个bug,我已经缩小了问题的范围,但无法弄清楚为什么我的字符串明显被切断了VBA断线?,vba,excel,Vba,Excel,我公开承认我对vba一无所知 我正在为一个项目开发一个遗留工具,它是用VBA编写的。我正在处理一个bug,我已经缩小了问题的范围,但无法弄清楚为什么我的字符串明显被切断了 strXPlusLast4 = "xxxxxxxxxxxx" & strDCLast4 For Each varItem In objIE.Document.getElementsByTagName("tr") If InStr(varItem.innerhtml, strXPlusLast4
strXPlusLast4 = "xxxxxxxxxxxx" & strDCLast4
For Each varItem In objIE.Document.getElementsByTagName("tr")
If InStr(varItem.innerhtml, strXPlusLast4) Then
strDCStatus = Replace(Split(Split(varItem.innerhtml, "<TD>")(3), "</TD>")(0), " ", "")
它使用的是innerHTML
,因此
标记之间的所有内容。它在onClick
HTML数据周围被切断
我最终将尝试获得的状态在第4个
td
中为“Closed”,但我无法尝试,因为我似乎没有完整的html行可供查看 监视窗口仅显示长字符串的一部分(尽管与局部变量
窗口不同,它不使用终止的…
来表示这一点)
例如,当我在中的变量t
上放置手表时:
Sub test()
Dim s As String, t As String
Dim i As Long
For i = 0 To 9
s = s & String(50, CStr(i))
Next i
t = s
End Sub
然后将值复制粘贴到记事本中,我看到:
"0000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333344444444444444444444444444444444444444444444444444
尽管绳子显然要长得多
代码本身的真正缺陷可能是由于
拆分
中字符串的大小写敏感性,以及由此产生的定界符
与定界符不同监视
窗口仅显示长字符串的一部分(尽管与局部变量
窗口不同,它没有用终止的…
来表示这一点)
例如,当我在中的变量t
上放置手表时:
Sub test()
Dim s As String, t As String
Dim i As Long
For i = 0 To 9
s = s & String(50, CStr(i))
Next i
t = s
End Sub
然后将值复制粘贴到记事本中,我看到:
"0000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333344444444444444444444444444444444444444444444444444
尽管绳子显然要长得多
代码本身的真正缺陷可能是由于Split
中字符串的大小写敏感性,以及由此产生的定界符
不同于定界符这不是一个错误。至少,如果您给出一个字符串varItem.innerhtml
的“被切断”的示例,它会有所帮助以及执行该语句后的strDCStatus
的预期值。如果我没有弄错的话,字符串长度限制为255个字符,但有办法。只需搜索一下。Split
区分大小写,而
不是
如何检查varItem.innerhtml
的值?您是什么查看可能是您检查的产物。如果插入行Debug.Print Len(varItem.innerhtml)
,会发生什么情况?调试工具将只显示长字符串的一部分(甚至可能以结尾)…
)。这不是一个。如果您给出一个字符串varItem.innerhtml
的示例,它至少会有所帮助以及执行该语句后的strDCStatus
的预期值。如果我没有弄错的话,字符串长度限制为255个字符,但有办法。只需搜索一下。Split
区分大小写,而
不是
如何检查varItem.innerhtml
的值?您是什么查看可能是您检查的产物。如果插入行Debug.Print Len(varItem.innerhtml)
,会发生什么情况?调试工具将只显示长字符串的一部分(甚至可能以…
结尾)。