• 締切済み

最新(前日)の株価がダウンロードできない

私は毎朝、東証1部銘柄の株価時系列を以下のプログラムでダウンロードしていますが、一部の銘柄で、前日の株価だけがダウンロードされていないという事象が発生しています。その銘柄のWebページの時系列表を見ますと、やはり前日分が抜け、前々日分から表示されています。しかし、日付設定の後の「表示」ボタンをクリックしますと、前日分が正常に表示されます。マクロで、この「表示」ボタンを押すような設定は出来るんでしょうか。 Dim X As Worksheet Set X = Worksheets.Add X.Name = "INDB" Sheets("INDB").Select URLWEB = "http://info.finance.yahoo.co.jp/history/?code=" KIKAN = ".t&sy=" & END年 & "&sm=" & END月 & "&sd=" & END日 & "&ey=" & _ FST年 & "&em=" & FST月 & "&ed=" & FST日 & "&tm=d&=" For I = 1 To CNT With ActiveSheet.QueryTables.Add(Connection:= _ "URL;" & URLWEB & CD(I) & KIKAN, Destination:=Range("$A$1")) .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .AdjustColumnWidth = True .WebSelectionType = xlEntirePage .WebFormatting = xlWebFormattingNone .Refresh BackgroundQuery:=False End With 時系列データー( I ) = Webの時系列データー   '時系列データーを取り込みます。 Application.DisplayAlerts = False Sheets("INDB").Cells.Clear Application.DisplayAlerts = False Next I Set X = Nothing

みんなの回答

回答No.1

レスが付かないので おそらくダメでしょう WEBクエリーは 取得だけで 送信機能は無いですから。 で、日付設定、表示 ボタンを押した後、アドレスは変わりますか? 変われば、エラー処理ルーチンで 新しい アドレスをWEBクエリーに送り込めば、何とか 変わらなければ、基本無理。 エラーの起きた所だけ 別処理で、 IEを起動して、IEで情報を取得 IE経由でボタンを押すような処理が必要。 その状態で WEBクエリーにアドレス送り込んで、上手く日付が変わってくれていれば、以降そのままで良いでしょうし。反応が無いようなら、 IEから 情報を取得するより 方法は無いかと・・・・ こんな感じ Set IE = CreateObject("internetExplorer.application") url = yobiurl With IE .Navigate url .Visible = True 目的の HP表示させて * * * in_str = "**********" If InStr(IE.document.Title, in_str) < 1 Then タイトルで正しいか判断して kihon.Cells(3, 39) = "エラー" & Minute(Now) & "分" Exit Sub End If strBody = IE.document.Body.innerText 文章を 読み込んで 目的の所に・・・・

dORAGON2394
質問者

お礼

ありがとうございました。 以降、更新不具合の発生件数を日々調査していましたところ、あれから一度も問題は発生していません。再発生時に、ご教授頂いた方法を試したいと思います。本当にありがとうございました。返信が遅れましたことをお詫びします。

関連するQ&A