Mic*_*l A 8 vba worksheet-function microsoft-excel microsoft-excel-2013
在 Google Docs 电子表格中,我可以使用以下单元格公式:
=GoogleFinance("GOOG", "price")
Run Code Online (Sandbox Code Playgroud)
下载股票的最新价格。Excel 2013 中是否有等效功能?
早期版本的 Excel 有一个智能标签功能,可以为每个代码下载大量数据(实际上,如果您只需要价格,那就太多了),而且我看到一些消息来源建议使用Excel 2013的Bing Finance 应用程序。不幸的是这已停止。
有没有一种简单的方法可以做到这一点?我真的只需要最新的价格,我不在乎它是否延迟,来自雅虎财经等。大概我可以编写 VBA 代码从 YF 下载 CSV 文件,解析它等等,但我希望避免创建启用宏的工作簿。
您可以使用这样的 UDF -
Option Explicit
Public Function GetTickerPrice(ByVal ticker As String) As Double
Dim IE As Object
Dim pageData As Object
Set IE = CreateObject("InternetExplorer.Application")
Dim URL As String
URL = "http://www.msn.com/en-us/money/stockdetails/fi-126.1." & ticker & ".NAS?symbol=" & ticker & "=PRFIMQ"
IE.Navigate URL
Do Until IE.ReadyState >= 4
DoEvents
Loop
Application.Wait Now + TimeSerial(0, 0, 5)
Set pageData = IE.document
GetTickerPrice = pageData.getElementsByClassName("precurrentvalue")(0).innertext
Set IE = Nothing
Set pageData = Nothing
End Function
Run Code Online (Sandbox Code Playgroud)
现在您可以使用GetTickerPrice("GOOG")并获取当前价格。
我确实将其转移到Codereview.SE以获得一些输入。
| 归档时间: |
|
| 查看次数: |
16976 次 |
| 最近记录: |