Webのテーブルデータを配列で取得する【Selenium Basic × ExcelVBA】

■指定した箇所に値をコピーするメソッド →AsTable.ToExcel

■テーブル要素のデータを配列で返すメソッド →AsTable.Dataメソッド

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

実際に使用したサンプルコード

'変数の宣言強制
Option Explicit
'配列の下限を1に指定
Option Base 1
Public Sub Sample()

'driverの使用準備
Dim driver As New Selenium.ChromeDriver

'動的配列の用意
Dim 配列() As Variant

'修正後の配列
Dim 修正() As Variant

'カウンタ変数を用意
Dim cnt As Long

With driver

'指定したページへ
.Get "https://vba.company/samplepage/4/"

'配列にテーブルデータを入れる
配列 = .FindElementByTag("table").AsTable.Data

'必要な箇所だけ取り出す配列のサイズを設定
ReDim 修正(UBound(配列, 1), 2)

'取得した配列から順番に指定した列だけ入れていく
For cnt = LBound(配列, 1) To UBound(配列, 1)

修正(cnt, 1) = 配列(cnt, 1)
修正(cnt, 2) = 配列(cnt, 6)

Next

'完成したものを指定したセルにいれる
Sheet2.Range("A1").Resize(UBound(修正, 1), UBound(修正, 2)).Value = 修正

End With

End Sub

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です