2014-07-22 3 views
1

금융 웹 사이트에서 실시간 주식 시세를 얻기 위해 매크로를 만들고 싶습니다. 다음은 제 코드입니다. 소스의 HTML 코드는 (는 I 매크로를 실행할 때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("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 

하지만,이 라인 아래

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

오류가 91 (Object 변수 또는 블록 변수가 설정되지 않음) 도시 인 주가)

<span class="neg bold">1.900</span> 

고마워요!

+0

어떤 오류가 나타나는지 묘사 해주세요. –

답변

2

getElementsByTagName의 인수는 요소 이름이어야하며 클래스 이름이 아니어야합니다. 클래스 이름을 기준으로 요소를 대상으로 지정하려는 경우

두 가지 방법 모두 요소 컬렉션을 반환합니다. 당신이 목표로 삼고 있다면, 당신이 찾고있는 것을 좁히기 위해 할 일이 조금 더있을 수 있습니다.