SBB*_*SBB 1 excel vba excel-vba
我公开承认我对vba一无所知..
我正在研究一个项目的遗留工具,它是用VBA编写的.有一个我正在处理的错误,我已经缩小了问题,但无法弄清楚为什么我的字符串显然被切断了?
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), " ", "")
Run Code Online (Sandbox Code Playgroud)
使用IE对象导航到一个页面,它正在查看所有的tr.在tr它找到的内部,它正在寻找一个字符串是否存在.
如果它找到这个字符串,它会进入IF statement我被卡住的地方.
到这里之后,我检查了varitem.innerHTML它的值,它正在切换大约250个字符,就在实际行数据的中间.
我试图找出是否有任何限制,为什么价值innerHTML不是HTML我希望看到的全部内容,我正在浏览它正在抓取的网页.
当我添加varItem到手表并查看innerHTML对象时,此数据也会被截断.
任何人都可以对我能够在这个问题上发布的一些代码有所了解吗?我的根本问题是我没有得到strDCStatus我所期望的,因为它没有搜索整行数据,因为有些东西正在被截止.
更新
这是我能提供的最好的内容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>
Run Code Online (Sandbox Code Playgroud)
它正在使用标签innerHTML之间的所有内容<tr>.它正在围绕onClickHTML数据切断.
我最终会尝试获得的状态是在第4次"关闭" td但我无法尝试,因为我似乎没有完整的行html来查看.
该Watches窗口仅显示长字符串的一部分(尽管与Locals窗口不同,它并不表示具有终止字符串...).
例如,当我将变量放在以下变量上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
Run Code Online (Sandbox Code Playgroud)
然后将值复制粘贴到记事本中,我看到:
"0000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333344444444444444444444444444444444444444444444444444
Run Code Online (Sandbox Code Playgroud)
即使字符串显然更长.
代码本身的真正错误可能是由于字符串的区分大小写Split以及分隔符<td>与分隔符不同的结果<TD>
| 归档时间: |
|
| 查看次数: |
690 次 |
| 最近记录: |