|
始めまして。おさると申します。
株価データを取得したく、WEBクエリ利用したコードを作成しましたが、WEBクエリの取得中に処理が戻らなくなってしまい、どうしていいものか困っています。WEBクエリ取得部分は下記のようなコードになっており、strUrl、strRange、strFigsは文字列変数を使用しています。基本的には動作しているので、WEBクエリ取得のコードが悪いのではないと思っています。推測ではサーバーからの反応がかなり遅い(返ってこない?)時に死ぬようです。この場合、「Ctrl+Break」でも停止できず、APIのSetTimer()を使用してCancelRefreshを実行使用としましたが、この状況時にはコールバック関数も呼ばれないようで、にっちもさっちも行きません。WEBクエリの取得に伴い、最初からタイムアウトを設定する方法、もしくはこのような現象を回避する方法が分かる方がいましたら、ご教授していただけないでしょうか?
With ActiveSheet.QueryTables.Add(Connection:=strUrl, Destination:=Range(strRange))
.Name = strName
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = False
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = False
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = strFigs
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.Refresh BackgroundQuery:=False
End With
どうかよろしくお願い致します。
|
|