2015-09-18 19 views
1

好了,所以這是我的全部代碼:如何獲得span id值到excel VBA中?

Private Sub CommandButton1_Click() 

Dim appIE As Object 
Set appIE = CreateObject("internetexplorer.application") 

With appIE 
    .Navigate "http://finance.yahoo.com/q/ks?s=" & "AAPL" 
    .Visible = True 
End With 

Do While appIE.Busy 
    DoEvents 
Loop 

Set getPrice = appIE.Document.getElementById("yfs_l84_aapl") 
Dim myValue As String: myValue = getPrice.Cells(1).innerHTML 

appIE.Quit 
Set appIE = Nothing 

Range("B1").Value = myValue 

End Sub 

這裏是我想讀入Excel中的HTML(具體而言,我需要113.92):

<span id="yfs_l84_aapl">113.92</span> 

什麼我必須在這兩行代碼中更改以讀取「跨度ID」?

Set getPrice = appIE.Document.getElementById("yfs_l84_aapl") 
Dim myValue As String: myValue = getPrice.Cells(1).innerHTML 

或者,或者,有沒有辦法直接讀取「yfs_184」之後的任何內容?

我是全新的編碼,我很努力地工作,所以任何幫助真的很感謝!謝謝! :)

回答

1

使用此:

myValue = getPrice.innerText 
+0

這一工程......但只有我第一次寫的代碼並運行它。每次我嘗試運行它時,都會收到錯誤消息:/以下是更新後的代碼行: 'Set getPrice = appIE.document.getElementById(「yfs_l84_aapl」)// Dim myValue As String:myValue = getPrice .innerText' –

+0

由於'appIE.Busy'不足以確保頁面實際加載,您可能會收到錯誤。將該行更改爲: –

+0

'儘管appIE.Busy或appIE.readyState <> 4' –