我需要从雅虎财经页面读取股票的收盘价。我在使用谷歌财经页面之前就已经回答了这个问题,但该页面不再可用,我相信谷歌已经完全改变了它的财经页面。我相信我可以在雅虎财经上应用同样的方法,只需稍作修改。
假设雅虎财经的股票代码 AAPL(苹果)有以下代码:
我只需要提取值172.77。
这与 Google 财经页面完美配合。在我下面的代码中。
线路:
"https://finance.google.com/finance?q="
替换为:
"https://finance.yahoo.com/quote/"
代码在一系列单元格中循环并读取股票代码。我们需要从雅虎页面获得相同的结果。
Sub ImportCurrentPriceNEW()
Dim appIE As New InternetExplorer, html As HTMLDocument
Dim item_data As Object
For k = 6 To 26 Step 1
s = 1
H = 1
L = 1
StopLoop = 0
q = Format(k, "0")
If IsEmpty(ActiveSheet.Range("$E$" & q).Value) = True Then
With appIE
.Visible = False
.navigate "https://finance.google.com/finance?q=" & Sheets("Up Trend
Stocks").Range("$A$" & q).Value
Do Until .readyState = 4: DoEvents: Loop
Set html = .document
End With
Set item_data = html.querySelector(".pr span")
Range("$B$" & q).Value = item_data.innerText
End If
Next
appIE.Quit
Range("D1").Select
End Sub
请告诉我如何修改上面的代码以从雅虎财经页面读取数据。
尝试以下方法。它应该从
AAPL
获取 https://finance.yahoo.com/quote/
的值。使用 class
名称或 tag
名称来达到该值实际上很麻烦。不过,我在这里使用了静态id
。
Sub Fetch_Quote()
Dim HTML As HTMLDocument, elem As Object, URL$
URL = "https://finance.yahoo.com/quote/AAPL?p=AAPL"
With CreateObject("InternetExplorer.Application")
.Visible = True
.navigate URL
While .Busy = True Or .readyState < 4: DoEvents: Wend
Set HTML = .document
Set elem = HTML.getElementById("quote-market-notice").PreviousSibling.PreviousSibling
MsgBox elem.innerText
End With
End Sub
那就试试这个吧。现在,您应该眨眼就能得到结果:
Sub Fetch_Quote()
Dim HTML As New HTMLDocument, elem As Object, URL$
URL = "https://finance.yahoo.com/quote/AAPL?p=AAPL"
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", URL, False
.send
HTML.body.innerHTML = .responseText
Set elem = HTML.getElementById("quote-market-notice").PreviousSibling.PreviousSibling
MsgBox elem.innerText
End With
End Sub
添加到库的参考:
Microsoft XML, V6.0
也许你讨厌谷歌,但我认为你应该考虑使用这个小实用程序。
http://investexcel.net/multiple-stock-quote-downloader-for-excel/
这应该可以完成你想要的一切,甚至更多!!
否则,在 Excel 中的“数据”选项卡下,单击“现有连接”,然后单击“MSN Money Central Investor Stock Quotes”。请参见下图。输入您的股票代码/代码,然后单击“打开”。
如果尚未安装该应用程序,请单击下面的链接,然后按照步骤进行所有设置并在您的计算机上运行。
https://appsource.microsoft.com/en-us/product/office/WA104379220?tab=概述