Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.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
在Excel VBA中获取从网页中刮取的表格的确切HTML格式_Vba_Excel_Web Scraping - Fatal编程技术网

在Excel VBA中获取从网页中刮取的表格的确切HTML格式

在Excel VBA中获取从网页中刮取的表格的确切HTML格式,vba,excel,web-scraping,Vba,Excel,Web Scraping,我试图得到一个表刮,已经得到了尽可能多的HTML表,但后来卡住了 Sub clickFormButton() Dim oHtml As HTMLDocument Dim oElement As IHTMLElement Set oHtml = New HTMLDocument With CreateObject("WINHTTP.WinHTTPRequest.5.1") .Open "GET", "http://www.marketwatch.com/tools/quot

我试图得到一个表刮,已经得到了尽可能多的HTML表,但后来卡住了

Sub clickFormButton()
Dim oHtml       As HTMLDocument
Dim oElement    As IHTMLElement

Set oHtml = New HTMLDocument


With CreateObject("WINHTTP.WinHTTPRequest.5.1")
.Open "GET", "http://www.marketwatch.com/tools/quotes/lookup.asp?siteID=mktw&Lookup=agnico-eagle+mines&Country=us&Type=All", False
.send
oHtml.body.innerHTML = .responseText

End With


Dim wsTarget As Worksheet
Dim i As Integer
i = 1
Set wsTarget = ActiveWorkbook.Worksheets("Sheet1")

For Each oElement In oHtml.getElementsByClassName("results")
wsTarget.Range("A" & i) = oElement.Children(0).innerText
i = i + 1
Next

End Sub`
它返回我想要的数据,但是它在一个单元格中返回所有数据。其中,我希望通过遵循TR和TD标记,将刮取的数据格式化为类似的HTML表格


谢谢你的帮助

我将使用
split
功能执行此任务

代码片段

split(oElement.Children(0).innerText, "<\TR>")
split(oElement.Children(0.innerText)”)

将返回一个字符串数组,其中每个元素都是HTML表中的一行。从那里,您可以运行类似的命令,用
替换
,将每一行拆分为单独的单元格。从那里,您可能需要清理结果单元格中的无关的
是的。固定的