SeleniumBasic TableClass Excelテーブルデータの操作

リファレンス

概要

Excelテーブルデータハンドル用オブジェクト。ExcelデータをTableクラスに代入し、各種メソッドの実行や、プロパティ取得ができます。

オブジェクト設定

・変数宣言

Dim Table As New Table

文法

Table.From.[メソッド]

メソッド・プロパティ

メソッド

スクロールできます
Name解説ShortExample
Disposeリソースの解放Table.Dispose
Fromソースからデータのロード。 Excel のアドレスまたは範囲を指定。Table.From(tblSh.Range("A1")).Where ("Id > 0")
ToExcel値を Excel にコピーTable.ToExcel
Values2次元配列を返すtblData() = Table.Values
WhereSQLのWhree句と同様のフィルタTable.From(tblSh.Range("A1")).Where ("Id > 0")

※Short Exampleは、動作確認ができたコードを記載しています。

プロパティ

スクロールできます
Name解説ShortExample
Count行数を返すDebug.Print "テーブルデータ(0起点): " & Table.Count
Item指定されたインデックス行を取得Set tblRow = Table.Item(1)

※Short Exampleは、動作確認ができたコードを記載しています。

Example

Set_TableDataSheet

Private Sub Set_TableDataSheet()
    Dim tblSh As Worksheet
    Worksheets.Add After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)
    Set tblSh = ActiveSheet
    tblSh.Name = "TableData"
    Dim DataAry(2)
    DataAry(0) = Array("Id", "Link", "ExpectedTitle", "Result")
    DataAry(1) = Array("1", "https://en.wikipedia.org/wiki/Main_Page", "Wikipedia, the free encyclopedia", "")
    DataAry(2) = Array("2", "https://en.wikipedia.org/wiki/Special:Random", "???", "")

    Dim i As Integer, j As Integer
    For i = 0 To 2
        For j = 0 To 3
            tblSh.Cells(i + 1, j + 1) = DataAry(i)(j)
        Next j
    Next i
End Sub

Use_TableCls

Private Sub Use_TableCls()
    Dim Table As New Table
    Dim Verify As New Verify
    Dim Driver As New ChromeDriver

    Dim tblSh As Worksheet: Set tblSh = ThisWorkbook.Worksheets("TableData")
    Table.From(tblSh.Range("A1")).Where ("Id > 0")
    Debug.Print "テーブルデータ(0起点): " & Table.Count
    
    Dim row
    For Each row In Table
        Driver.Get row("Link")
        row("Result") = Verify.Equals(row("ExpectedTitle"), Driver.title)
    Next row
            
    Dim tblData(): tblData() = Table.Values '0起点でデータ取得
    Debug.Print tblData(0, 0)
    
    Table.ToExcel tblSh.Range("A5")
    Table.Dispose
    Driver.Quit
End Sub
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

VBAを中心とした自動化、効率化の手法を紹介しています。現在は、SeleniumBasicのexamplesを紹介しています。その内、SeleniumBasic以外の手法も掲載したいと思っております。