株価の自動取得完成

公開日:  最終更新日:2017/01/26

前回作った自動取得はかなりシンプルで入れたコードの株価をひとつだけ返すものでしたが、それだけでは複数の銘柄を監視している場合あまり意味がないので今回は監視銘柄すべてを取得するものを作りました。

 

●コード

赤い部分が前回から足した部分です、ほとんど変わらないように見えますが、これだけで劇的な変化があります。

 

Declare Function GetTickCount Lib “kernel32” () As Long’最初のおまじない、ひとつだけ入れればOK’

 

‘ここから本番’

Sub kabuka() ‘ヤフーファイナンスの指定した株を取得’

‘この3行はIEを使うためのお約束’
Dim ie As InternetExplorer
Set ie = CreateObject(“InternetExplorer.Application”)
ie.Visible = True ウィンドウを見えるようにする、プログラム制作中は見るが終われば消した方がよい?’
i = 2 ‘ループ用’

Do While Not Cells(i, 1) = “” ‘コードが空白でなければ続ける’
‘(i,1)に入っている株の画面へ飛ぶ’
ie.Navigate “http://stocks.finance.yahoo.co.jp/stocks/detail/?code=” & ActiveSheet.Cells(i, 1).Value

‘処理が終わるまでのお約束’
Do While ie.Busy Or ie.ReadyState < READYSTATE_COMPLETE
DoEvents
Loop

‘HTMLとして見るために必要な2行、kabuka以外はお約束’
Dim kabuka As HTMLDocument
Set kabuka = ie.Document

‘TDタグの2つめを取得して(i、2)に入力 ※(2)ではなく(1)ということに注意’
Cells(i, 2).Value = kabuka.getElementsByTagName(“td”)(1).innerText

i = i + 1 ‘次の判定のため’

Loop ‘do終わり’

ie.Quit ‘ieのウィンドウを閉じる’

Set ie = Nothing
Set kabuka = Nothing

End Sub

 

●動き

e

二つのコードが入っているが、株価は入っていない状態から。

 

c

 

実行すると株価に数値が入る。

 

二個の株価だけだとあまり恩恵を感じませんが、これが10、20と増えていくごとに便利さを感じます。

f

追記、タグではなくspan classから取り出したいときはこちらから。

 

●まとめ

ここまで出来れば後は自分なりにエクセルを組んで監視銘柄の表を作ることができます。

 

スポンサードリンク

シェアありがとうございます

  • このエントリーをはてなブックマークに追加
  • Pocket

Comment

  1. いっさん より:

    沖縄在住、いっさんと申します。
    とても勉強になりました。
    株の勉強中なので、いつかご挨拶出来たらと思います。
    ありがとうございます!

    • chanpuruotoko より:

      コメントありがとうございます。
      最近不動産で頭がいっぱいで全然更新していないので、近いうち更新します。

Your Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑