VBA切断string?
我公开承认我对vba一无所知
我正在为一个项目和它的VBA编写遗留工具。 有一个错误,我正在努力,我已经缩小了这个问题,但无法弄清楚为什么我的string显然是截断?
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), " ", "")
使用一个IE对象导航到一个页面,它正在浏览所有的tr
。 在它发现的tr
,它正在查看是否存在string。
如果它发现这个string,它会进入我被卡住的IF statement
。
一旦在这里,我检查varitem.innerHTML
的值,它正在切断约250个字符,在实际行数据的中间。
我试图找出是否有任何限制,为什么innerHTML
的价值不是完整的HTML
内容,我期望看到,我正在查看它正在抓取的网页。
当我将varItem
添加到我的手表并查看对象的innerHTML
,也会截断这些数据。
任何人都可以摆脱一点点的代码我能够发布这个问题? 我的根本问题是,我没有得到我期望的strDCStatus
因为它没有search整行数据,因为某些东西正在被截断。
更新
这是我可以提供给TR
的最好的,这是在看:
<tr class=""> <td> </td> <td>2 Blah Blah </td> <td class="AccountNumber"> xxxxxxxxxxxx1234 <a href="#" onclick="view(this, event,'12345', '45678');return false" class=""><img src="https://MySite" title="Click to Expand" alt="!"></a> </td> <td>Closed </td> <td>Jan 1, 2011 </td> <td>Nov 30, 2011 </td> <td>N/A </td> <td> xx/xxxx <a href="#" onclick="view(this, event,'12345', '56789'); return false;" class=""><img src="https://MySite" title="Click to Expand"></a> </td> </tr>
它正在使用innerHTML
所以<tr>
标签之间的所有内容。 它在onClick
HTML数据周围被切断。
我最终会尝试得到的状态是在第四个td
“closures”,但我没有能够尝试,因为我似乎没有一个完整的行HTML浏览。
Watches
窗口只显示一个长string的一部分(虽然,不像Locals
窗口,它不表示终止...
)。
例如,当我把variablest
放在:
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
即使string显然要长得多。
代码本身的错误可能是由于Split
中string的大小写敏感性以及分隔符<td>
不同于分隔符<TD>