我公开承认我对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), " ", "")
使用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>
它使用<tr>
标签之间的innerHTML
等等应有尽有。它会在onClick
HTML数据周围中断。
我最终会尝试得到的状态在第4个td
中处于“关闭”状态,但由于我没有看到完整的行HTML,因此我一直无法尝试。
这不是一个[MCVE]不同。至少,如果在执行该语句后给出一个字符串“varItem.innerhtml”的示例,该字符串将与“strDCStatus”的预期值一起“截断”。 –
如果我没有弄错字符串长度限制为255个字符,但有办法解决。只需搜索一下。 – mrbungle
@mrbungle如果你指的是VBA字符串,你是错误的。在即时窗口输入'?len(string(10^6,“*”))'立即打印'1000000'而不是抛出错误。 –