用Excel检索网站xml

时间:2012-09-24 05:07:05

标签: vba excel-vba excel

在Excel2003中,我试图从雅虎财务中检索一些内容。

到目前为止我有一个非常简单的子目录:

Public Sub test(BaseRange As Range)

    Dim xmlObject As New MSXML2.XMLHTTP60
    Dim xmlDoc As New MSXML2.DOMDocument

    With xmlObject
        Call .Open("GET", "http://biz.yahoo.com/research/earncal/20110923.html", False)
        Call .send
    End With


    With ActiveSheet.Range("F2")
        .Value = xmlObject.responseXML.XML
    End With

End Sub

子执行没有错误,xmlObject.responseText似乎包含页面html文本,但xmlObject.responseXml.XML为空。除了共鸣文本之外,一切都是空的。

我在这里缺少什么?

3 个答案:

答案 0 :(得分:2)

值得指出的是,有一个开源项目已经这样做了: http://excel-dna.net/2011/04/28/financial-analytics-suite-finansu-made-with-excel-dna/

我希望这对你有用

答案 1 :(得分:1)

如果服务器返回XML响应,则responseXml中只有内容。看起来您的URL返回HTML而不是XML。

答案 2 :(得分:0)

这是我用于欧洲央行外汇汇率的。

Sub ecb_fx()
ActiveWorkbook.XMLIMPORT url:= _

        "https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.xml", ImportMap:=Nothing, _
        Overwrite:=True, Destination:=Range("$B$6")
End Sub