Excel 用VBA实现Web抓取

Excel 用VBA实现Web抓取,excel,vba,Excel,Vba,我想创建一个宏来获取实时股票报价从金融网站。 下面是我的代码 Private Sub Worksheet_Change(ByVal Target As Range) Dim stock As Long, rng As Range, quote As String, ie As InternetExplorer, doc As HTMLDocument Set rng = Range("A1") stock = rng.Value Set ie = CreateObject("Internet

我想创建一个宏来获取实时股票报价从金融网站。 下面是我的代码

Private Sub Worksheet_Change(ByVal Target As Range)

Dim stock As Long, rng As Range, quote As String, ie As InternetExplorer, doc As HTMLDocument

Set rng = Range("A1")
stock = rng.Value
Set ie = CreateObject("InternetExplorer.Application")

If Target.Rows = rng.Rows And Target.Columns = rng.Columns Then

    ie.navigate "http://www.aastocks.com/en/ltp/rtquote.aspx?symbol=0" & rng.Value
    ie.Visible = True

    Do
        DoEvents
    Loop Until ie.readyState = READYSTATE_COMPLETE

    Set doc = ie.document

    quote = doc.getElementsByTagName("neg bold").innertext

    MsgBox quote

End If

End Sub
但是,当我运行宏时,它在行中显示错误91(对象变量或未设置块变量)

quote = doc.getElementsByTagName("neg bold").innertext
下面是源代码(股票价格)的HTML代码

1.900

非常感谢

getElementsByTagName的参数应该是元素名,而不是类名。如果希望通过元素的类名将其作为目标,则可以改用getElementsByClassname方法


另外,请注意,这两种方法都返回元素集合-因此,除非在这个特定实例中,返回的集合归结为您所针对的单个元素,否则可能还有更多的工作要做,以便将其缩小到您要查找的内容

请描述显示的错误。
<span class="neg bold">1.900</span>