Kingsoft Spreadsheetsで株価取得 その2 [VBA]
では、URLを可変にしていきます。
銘柄コードはA列に入力しています。
2行目からデータが始まっているので、
strCode = Cells(2, "A")
とすると、先頭コードが取得できます。
デバッグ実行すると、3048が取得できました。
そう、先頭コードはビックカメラでした(笑)
コードを取得してみます。
Dim strCode As String |
コードは問題なく取れました^^
さて、あとURLに必要なのは日付です。
市場の開いている日となると、考えるのが面倒なので、
シートのあいている場所に更新日を持たせ、更新日~今日のデータを取得してしまいます。
私は、更新日内でも再度更新するかもしれないので(時系列データが更新された後でもう一回、とか)
更新日からにしていますが、
必要なければ日付を比較してExitしてしまうのがいいかと思います。
Private Const INITUPDATEDD As Date = "2012/08/9" |
シートから更新日(検索の開始日)を取得
'開始日取得 updateDate = Cells(1, "S") If updateDate = 0 Then updateDate = INITUPDATEDD End If |
上の銘柄コードの取得と合わせてURL作成して
ダウンロード。
'最初のコード取得 '更新日更新 |
ウォッチで表示できている範囲が短すぎてデータがちゃんと取れているのか不安ですが(笑)
次回は取得したhtmlの中身を解析します。
Kingsoft Spreadsheetsで株価取得 その1 [VBA]
さて、前の記事で作成したKingsoft Spreadsheetsのシートに、
株価更新の機能を追加していきます。
需要はなさそうですが、VBA自体はExcelと同じみたいなので、簡単に説明していきます。
※私の使用しているKingsoft SpreadsheetsはVBA版です。
通常のKingsoft SpreadsheetsだとVBAが使えないと思います。ご了承ください。
データの取得元はYahoo!ファイナンスです。
適当な位置にコマンドボタンを作成して
Visual Basicエディターを起動します。
今回はHTMLDocumentを使用しますので、
参照設定からMicrosoft HTML Object Library を選択します。
コマンドボタンのクリックイベントの中にデータ取得のプログラムを書きます。
Private Sub CommandButton1_Click() |
上の例はとりあえずシャープの時系列を取得しています。
resHtmlにシャープの時系列のページが入っていますので、
そこから終値を抜き出す必要があります。
その前に、シャープ固定だと何の役にも立たないので^^;、
次回はシート上のコードからURL文字列を作成したいと思います。