メモ

主にプログラミング系の備忘録

3末でoffなので春スキー検討中。そんなわけで春スキーでも営業しているスキー場の情報をsnow&surfさんからgetしてみた

Public Sub getSnowSurf()
  Dim ie As InternetExplorer: Set ie = New InternetExplorer: ie.navigate "https://snow.gnavi.co.jp/close/": Call ieCheck(ie)
  Dim dom As HTMLDocument: Set dom = ie.document
  Dim el As IHTMLElement
  Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets(1):  ws.Cells.Clear
  Dim i As Long: i = 2
  Dim j As Long
  
  For Each el In dom.getElementById("main").getElementsByClassName("area_ski")
'    Stop
  ws.Range("A" & i) = i - 1
  ws.Range("B" & i) = el.getElementsByTagName("h4")(0).innerText
  ws.Range("C" & i) = el.getElementsByTagName("h3")(0).innerText
  If el.getElementsByClassName("condition")(0).getElementsByTagName("td").Length = 8 Then
    For j = 0 To el.getElementsByClassName("condition")(0).getElementsByTagName("td").Length - 1
      ws.Cells(i, j + 4) = el.getElementsByClassName("condition")(0).getElementsByTagName("td")(j).innerText
    Next j
  Else
    ws.Range("L" & i) = el.getElementsByClassName("condition")(0).getElementsByTagName("td")(0).innerText
    For j = 1 To el.getElementsByClassName("condition")(0).getElementsByTagName("td").Length - 1
      ws.Cells(i, j + 3) = el.getElementsByClassName("condition")(0).getElementsByTagName("td")(j).innerText
    Next j
  
  End If
  i = i + 1
  
  Next el
  ie.Quit


End Sub