VBAで価格コムの洗濯機ランキングを取得してみる。
サイトが引っ越しました。→https://scombu.com
約1秒後に自動的にリダイレクトします。切り替わらない場合はリンクをクリックしてください。
Option Compare Database Option Explicit Private Sub コマンド0_Click() Dim ieobj As InternetExplorer Set ieobj = New InternetExplorer ieobj.navigate ("https://kakaku.com/kaden/washing-machine/ranking_2110/hot/") ieobj.Visible = True 'Webブラウザ読込が完了するまで待つ Call IEWait(ieobj) 'IEを待機 Dim doc As HTMLDocument Set doc = ieobj.Document Dim el As IHTMLElement Dim detailel As IHTMLElement Dim rankingString As String '更新日を取得 Debug.Print (doc.getElementsByClassName("notice alignR mTop5")(0).innerText) For Each el In doc.getElementsByClassName("rkgContents")(0).all If el.className = "num" Then rankingString = el.innerText & "位" End If If el.className = "rkgBoxNameMaker" Then rankingString = rankingString & " " & el.innerHTML End If If el.className = "rkgBoxNameItem" Then rankingString = rankingString & " " & el.innerHTML End If If el.className = "price" Then rankingString = rankingString & " " & el.innerText Debug.Print rankingString End If Next el Call WaitFor(3) ieobj.Quit Set ieobj = Nothing End Sub Function IEWait(ByRef objIE As Object) Do While objIE.Busy = True Or objIE.ReadyState <> 4 DoEvents Loop End Function Function WaitFor(ByVal second As Integer) Dim futureTime As Date futureTime = DateAdd("s", second, Now) While Now < futureTime DoEvents Wend End Function