2015-09-18 20 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' –