Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA断线?_Vba_Excel - Fatal编程技术网

VBA断线?

VBA断线?,vba,excel,Vba,Excel,我公开承认我对vba一无所知 我正在为一个项目开发一个遗留工具,它是用VBA编写的。我正在处理一个bug,我已经缩小了问题的范围,但无法弄清楚为什么我的字符串明显被切断了 strXPlusLast4 = "xxxxxxxxxxxx" & strDCLast4 For Each varItem In objIE.Document.getElementsByTagName("tr") If InStr(varItem.innerhtml, strXPlusLast4

我公开承认我对vba一无所知

我正在为一个项目开发一个遗留工具,它是用VBA编写的。我正在处理一个bug,我已经缩小了问题的范围,但无法弄清楚为什么我的字符串明显被切断了

 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), "&nbsp;", "")
它使用的是
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)
,会发生什么情况?调试工具将只显示长字符串的一部分(甚至可能以
结尾)。