Sub WebScrapingSample()
Dim IE As New InternetExplorer
Dim HTMLDoc As HTMLDocument
' Webサイトを開く
IE.Visible = False
IE.navigate "https://www.example.com"
' ページの読み込み完了を待つ
Do While IE.readyState <> READYSTATE_COMPLETE
DoEvents
Loop
' HTMLドキュメントを取得
Set HTMLDoc = IE.document
' 必要な情報を抽出(例としてタイトルを取得)
Dim pageTitle As String
pageTitle = HTMLDoc.Title
MsgBox "ページのタイトルは:" & pageTitle
' IEを閉じる
IE.Quit
Set IE = Nothing
Set HTMLDoc = Nothing
End Sub
5. 実践:サンプルサイトからデータを取得
5.1. 取得したいデータの確認
対象サイト:例として、為替レート情報を提供するサイト
取得項目:通貨名とレート
5.2. コードの説明
Sub GetExchangeRates()
Dim IE As New InternetExplorer
Dim HTMLDoc As HTMLDocument
Dim exchangeTable As Object
Dim row As Object
Dim i As Integer
' Webサイトを開く
IE.Visible = False
IE.navigate "https://www.exchangeratesample.com"
' ページの読み込み完了を待つ
Do While IE.readyState <> READYSTATE_COMPLETE
DoEvents
Loop
Set HTMLDoc = IE.document
' 為替レートのテーブルを取得
Set exchangeTable = HTMLDoc.getElementById("exchange-rate-table")
' テーブルの行をループ
i = 1
For Each row In exchangeTable.getElementsByTagName("tr")
' セルの値を取得
Cells(i, 1).Value = row.Cells(0).innerText ' 通貨名
Cells(i, 2).Value = row.Cells(1).innerText ' レート
i = i + 1
Next row
' IEを閉じる
IE.Quit
Set IE = Nothing
Set HTMLDoc = Nothing
End Sub