Excel Webservice和FilterXML从网站中提取数据
我有一个电子表格,我曾试图在过去自动化。我得到的最好的回应是使用VBA——尝试过,失败过,即使有作者的所有建议。就在最近,我在2013年的版本中听说了这个新功能,我想知道我是否可以将其合并 我正在尝试使用公式从此页面中提取XXXX mi 有人能提出正确的公式吗?我浏览了博客、支持页面、YouTube视频,我对XML不太在行,但这些数据对我来说至关重要。我甚至进入了页面的源信息,并在Mozilla上使用了firebug,但我仍然迷路了。电子表格的其余部分完成了所有后台工作超链接、缩写机场等。。。这是我剩下的一件需要自动化的事情 感谢您的帮助。Excel Webservice和FilterXML从网站中提取数据,excel,excel-formula,excel-2013,Excel,Excel Formula,Excel 2013,我有一个电子表格,我曾试图在过去自动化。我得到的最好的回应是使用VBA——尝试过,失败过,即使有作者的所有建议。就在最近,我在2013年的版本中听说了这个新功能,我想知道我是否可以将其合并 我正在尝试使用公式从此页面中提取XXXX mi 有人能提出正确的公式吗?我浏览了博客、支持页面、YouTube视频,我对XML不太在行,但这些数据对我来说至关重要。我甚至进入了页面的源信息,并在Mozilla上使用了firebug,但我仍然迷路了。电子表格的其余部分完成了所有后台工作超链接、缩写机场等。。。这
非常感谢。总距离在的最后一个元素内,仅在ID为dist_body的内 我尝试尽可能地最小化变量集和赋值
请记住,您在数字距离和mi标签之间插入了一个不间断的空格。您试图读取的数据不是格式良好的XML,因此FilterXML工作表函数不会工作哇,甚至不会假装理解这一点。我会在回家后检查这个,但我会假设它可以工作-我需要对Excel进行任何选项更改以使代码正常运行吗?再次感谢!
Function total_distance(Optional qry As String = "SFO-JFK")
Dim str As String, htmlBDY As Object
On Error GoTo bm_Report_Error
With CreateObject("WinHttp.WinHttpRequest.5.1")
.Open "GET", "http://www.gcmap.com/mapui?P=" & qry, False
.Send
If .Status = "200" Then
Set htmlBDY = CreateObject("HTMLFile")
htmlBDY.body.innerHTML = .responseText
With htmlBDY
'the div as a unique ID
With .getElementById("dist_body")
'should only be one table in this div
With .getElementsByTagName("table")(0)
'get the last TD in this table
With .getElementsByTagName("td")(.getElementsByTagName("td").Length - 1)
str = .innerText
GoTo bm_Exit_Function
End With
End With
End With
End With
Else
str = "Error: " & .Status
GoTo bm_Exit_Function
End If
End With
GoTo bm_Exit_Function
bm_Report_Error:
str = Err.Number & " - " & Err.Description
bm_Exit_Function:
total_distance = str
End Function