Excel VBA - getelementsbytagname - 返回运行时错误'438'

时间:2014-06-09 04:12:55

标签: excel excel-vba getelementbyid getelementsbytagname vba

我是一名高尔夫爱好者和爱好程序员。我试图编写VB代码,如果传递特定值(会员编号),将从网站获取障碍。我使用了一段代码,我发现这些代码对于他们的特定应用程序似乎很有效,但我需要使用的网站似乎稍微复杂一点。

网页结构的摘录如下所示:

<div id="exactHandicap">
   <h3>G.A. Handicap</h3>
   <div id="handicapType">
       (Men's)
   </div>
   <br>
   <span>
       <span id="ContentPage_lblExactHandicap">26.9</span></span>
   <span id="AnchoredPanel">
   </span>
</div>

我试图简单地抓住 26.9

我一直在搜索如何使用getelementsbytagname或getelementbyId正确引用它,但每次都返回错误,最新的错误是“438”

我是HTML新手,这个项目已经清楚地确定了这一点,但我确信这个社区中的某个人有答案。

我的代码(借鉴在线教程)是:

Private Sub Worksheet_Change(ByVal Target As Range)

  If Target.Row = Range("GolfLinkNumber").Row And _
  Target.Column = Range("GolfLinkNumber").Column Then
    Dim IE As New InternetExplorer
    IE.Visible = True
    IE.navigate "http://handicap.golflink.com.au/handicaphistory.asp?framed=1&golflink_No=" & Range("GolfLinkNumber").Value
    Do
    DoEvents
    Loop Until IE.readyState = READYSTATE_COMPLETE

    Dim Doc As HTMLDocument
    Set Doc = IE.Document

    Dim HandicapValue As String

    HandicapValue = Doc.getElementByTagName("ContentPage_lblExactHandicap").innervalue
    MsgBox HandicapValue

  End If

End Sub

错误发生在......

HandicapValue = Doc.getElementByTagName(“ContentPage_lblExactHandicap”)。innervalue

提前致谢。

0 个答案:

没有答案