
Dim Tables As IHTMLElementCollection
Set Tables = WebBrowser2documentgetElementsByTagName("TABLE") '循环出TagName为TABLE的表格元素
Dim Table1 As HTMLTable
For Each Table1 In Tables
If Left(Table1innerText, 2) = "字段" Then '找出字段中头两个字符是"字段"的表格
Dim Row As HTMLTableRow, Cell As HTMLTableCell
For i = 1 To Table1rowslength - 1 ' 逐行处理
Set Row = Table1rows(i)
Rowcells(j)innerText '读取指定列的内容
Next
End If
Next
给你给个大概例子:
Sub test()
Dim myQuery
With ActiveSheet
CellsDelete
[a1] = "Conneting, Please Wait"
Set myQuery = ActiveSheetQueryTables _
Add(Connection:="URL;>
把网页全部保存下来,再用Microsoft FrontPage打开“html”那个页面文件。
试试吧,我以前做个人主页时用过这招,搬走了一个大型网站的网格结构,不知道现在还是否好用。
<html>
<head>
<title>Test</title>
<script language="VBScript" type="text/vbscript">
<!-- '按钮事件
sub Test1_onClick()
msgbox documentgetelementsbytagname("table")(0)innerText
end sub
sub Test2_onClick() '提取每单元文本
dim Text
'获取表格中的行集
set trs=documentgetelementsbytagname("table")(0)getelementsbytagname("tr")
for each tr in trs '遍历每行
for each td in trgetelementsbytagname("td") '遍历每行中的每单元
text = text & tdinnerText & vbtab '每单元用制表符分隔
next
text =text & vbcrlf '换行
next
msgbox text
end sub
-->
</script>
</head>
<body>
<table cellspacing="0" cellpadding="0" class="list1">
<tbody>
<tr class="listtou">
<td width="10%">日期</td>
<td width="10%">姓名</td>
<td width="10%">备注</td>
</tr>
</tbody>
<tr>
<td width="10%">2014-01-15 10:40:52</td>
<td width="10%">张山</td>
<td width="10%">32</td>
</tr>
<tr>
<td width="10%">2014-01-16 10:40:52</td>
<td width="10%">李四</td>
<td width="10%">29</td>
</tr>
</table>
<div>
<input type="button" name="Test1" value="测试1">
<input type="button" name="Test2" value= "测试2">
</div>
</body>
</html>
'主要是对htmlDocument对像的 *** 作,我发现htmlDocument对象可以通过bodyInnerHtml载入html文本也能解析,这样比webBrowser1方便,因为是同步的。
'你试试用webClient的downloadString下载网页文本,然后赋给htmlDocument对象下的bodyInnerHtml。
'上面只是代码例子,只供参考。用ie打开,某些浏览器可能不支持。
用jquery获取,想这么获取就怎么获取 追问: 能不能写下代码? 回答: js方法var VAL=documentgetElementById("tb")rows[1]cells[1]; 说明:tb 是table 的id rows[ 行的下标 ] cells[ 列的下标 ] alert(VALinnerHTML) jquery方法: var tt = $("tr:eq(2)>td:eq(3)")text(); 表示的是获取 第三行 第四列的值 alert(tt); 希望给您带来帮助 追问: 那要怎么指定取这个 >
以上就是关于如何用vb提取网页中表格内容全部的内容,包括:如何用vb提取网页中表格内容、Excel获取网页表格数据、如何提取和保存网页中的表格等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)