電子書籍の厳選無料作品が豊富!

ヤフーより株価データを収集するエクセルのマクロやアドインが
ありますよね。
同じようなものをエクセルのVBAで自作したいのですが、
取っ掛かりが分かりません。

収集の仕方や、参考になるホームページ・書籍をご教授ねがいます。

A 回答 (1件)

こんにちは。


よく紹介されているのは↓この辺りでしょうか。
『三流君VBA:VBAからIE操作 TABLEの中にTABLE .getElementsByTagNameほか』
http://www.ken3.org/vba/backno/vba177.html
サンプルとしては

Sub sample()
  Const READYSTATE_COMPLETE As Long = 4
  Const sCHK As String = "日付始値高値"
  Dim sURL(9) As String
  Dim x As Object
  Dim i As Long
  Dim j As Long
  Dim n As Long
  
  sURL(0) = "http://table.yahoo.co.jp/t?"
  sURL(1) = "c=2006"
  sURL(2) = "a=8"
  sURL(3) = "b=1"
  sURL(4) = "f=2006"
  sURL(5) = "d=10"
  sURL(6) = "e=31"
  sURL(7) = "g=d"
  sURL(8) = "s=6758"
  With CreateObject("InternetExplorer.Application")
    .Visible = True
    .navigate Join(sURL, "&")
    While .busy Or .readyState <> READYSTATE_COMPLETE
      DoEvents
    Wend
    For Each x In .document.getElementsByTagName("TABLE")
      If Left(x.innertext, 6) Like sCHK Then
        If x.Rows(0).Cells.Length = 7 Then Exit For
      End If
    Next x
    If Not x Is Nothing Then
      n = x.Rows.Length
      ReDim v(n - 1, 6)
      For i = 0 To n - 1
        For j = 0 To 6
          v(i, j) = x.Rows(i).Cells(j).innertext
        Next j
      Next i
      Set x = Nothing
      Sheets.Add
      Range("a1:g1").Resize(n).Value = v
    End If
    .Quit
  End With
  MsgBox "finish"
End Sub

こんな感じ^ ^
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
私が追い求めていたものズバリです!
各ステートメントを解読してみます。

お礼日時:2006/11/10 23:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!