如何在 Excel 2013 中下载股票价格?是否有与 Google Doc 的 GoogleFinance 电子表格功能相当的功能?

如何在 Excel 2013 中下载股票价格?是否有与 Google Doc 的 GoogleFinance 电子表格功能相当的功能?

在 Google Docs 电子表格中,我可以使用以下单元格公式:

=GoogleFinance("GOOG", "price")

下载股票的最新价格。Excel 2013 中是否有等效函数?

早期版本的 Excel 有一个智能标签功能它会下载每只股票的大量数据(事实上,如果你只需要价格的话,那太多了),而且我看到一些资料表明Bing 财经应用适用于 Excel 2013。遗憾的是,该功能已停止使用。

有没有简单的方法可以做到这一点?我实际上只需要最新的价格,我不在乎它是否延迟,来自雅虎财经等。大概我可以编写 VBA 代码从 YF 下载 CSV 文件,解析它等等,但我希望避免创建启用宏的工作簿。

答案1

您可以使用这样的 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

现在您可以使用GetTickerPrice("GOOG")并获取当前价格。


我确实把这个交给代码审查获取一些输入。

答案2

有四个股票应用程序Office 商店目前。其中两个是免费的:

库存连接器

库存连接器

库存瓷砖

在此处输入图片描述

答案3

有一个名为的插件Excel 2013 股票报价插件它可以做到这一点,并且有一个适用于 2013 年的版本。就我个人而言,我无法让它工作,但它已经存在几年了,所以可能只是我的问题。

相关内容