Month of March , 2007

Webクエリのテーブルについて2

投稿者: morita 投稿日時: 月, 2007-03-05 13:47

先日お伝えした「自動売買ロボット作成マニュアル」のサンプルシート、Yahooファイナンス版における、Webクエリのエラーの件ですが、どうやらユーザの方からの情報によると、このWebクエリのWebテーブルの番号がランダムで変更されるようになってしまった模様です。

よって、今回このWebテーブルのランダム化に対応した新しいバージョンのサンプルシートを配布開始しました。

ロジックとしては、Webテーブル番号のうち、19番から25番までを試し、そのうちうまく動作するものを採用してデータの連続取得を開始するといったものになっています。

コードに関しては、Get_Dataマクロ及びCalcマクロが一部修正されています。ご確認ください。

なお、私と私の著書の出版社であるパンローリング社はヤフージャパン社とは一切関係ございません。本件に関してヤフージャパン社にお問い合わせをされるのは避けていただきますよう宜しくお願い致します。

新しいサンプルシートのダウンロードはこちら

Yahoo!ファイナンスのWebクエリのテーブルについて

投稿者: morita 投稿日時: 日, 2007-03-04 00:15

3月1日より、YahooファイナンスのWebページの仕様が一部変更され、今までのままのコードでは動作しなくなりました。

この対策方法として、VBAのコードのうち、Webクエリを行う部分のWebTablesという設定箇所を従来の「19」から「23」に変更することで、再びこれまでのように動作するようになります。

ご利用されている方は、設定の変更を行ってください。また、いかに本書のWebクエリのコードの修正版を掲載しておきますので、合わせてご覧ください(サイトの都合で改行位置がずれてい部分がありますが、コードの内容および本書の内容から判断してください。)。よろしくお願いします。

Sub Get_Data() '価格データを取得するマクロ(P.38~63参照)

With ActiveSheet.QueryTables.Add(Connection:=url, Destination:=Cells(lastrow, 2))
.Name = "Yahoo"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "23"
'価格の取得がうまく動作しなくなった場合、この値を変更
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.Refresh BackgroundQuery:=False
End With
End Sub