Googleドキュメントのスプレッドシートでは、次のセルの数式を使用できます。
=GoogleFinance("GOOG", "price")
株式の最新価格をダウンロードします。 Excel 2013に同等の機能はありますか?
以前のバージョンのExcelには スマートタグ機能 があり、ティッカーごとに大量のデータをダウンロードしていました(実際には、価格が必要な場合は多すぎます)。 Bing Financeアプリ Excel 2013用。残念ながらこれは廃止されました。
これを行う簡単な方法はありますか?文字通り最新の価格が必要で、遅れてもかまいません。YahooFinanceなどから来ています。YFからCSVファイルをダウンロードして解析するなどのVBAコードを記述できると思いますが、私はマクロが有効なワークブックの作成を回避したいと考えています。
このような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")
を使用して、現在の価格を取得できます。
私はこれをいくつかの入力のために Codereview.SE に引き継ぎました。