|
ichinose さん、ありがとうございます。
すばらしいです。
特定の表のみ取り込むこともできるんですね。
とりあえずやりたいことはできるようになりました。時々取り込みできないサイトがあったのですがこれで応用が効くようになりました。
あとは、この処理を1000回繰り返すとして高速化のために、
1. WEBの画像を表示しないで文字のみ取り込みできるか。又は画像が表示されるのを完全に待つことなく取り込み始めることができるか。
2. 1セル毎の記入式の取り込みではなく、WEBの文字部分全体(特定の表だけでなくてよいので)一括取り込みできるか。
例えば、以下のコードですと全体が一括取得できて、その後に必要な部分のみ取り出すということができますが、同じ感覚で CreateObject("InternetExplorer.Application") 方式でWEBページ全体を一括取り込みできないでしょうか? 複数の必要な表が含まれているWEBページですと、一旦全部取り込んだ方が簡単かと思いまして。
Sub main()
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;HTTP://stock.searchina.ne.jp/data/code.cgi?market=&code=0001", Destination:=Worksheets("Sheet1").Range("A1"))
' "URL;HTTP://stock.searchina.ne.jp/data/code.cgi?market=&code=" + code + "", Destination:=Worksheets("Sheet1").Range("A1"))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.WebSelectionType = xlAllTables
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.Refresh BackgroundQuery:=False
End With
End Sub
|
|