Webフォームに順番に入力する 質問回答用【Selenium Basic × ExcelVBA】

お題 SeleniumBasicでChromeを操作しB列・C列のデータを順番にWebフォームに入力



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

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

※ForEachで行いたい場合

Option Explicit
Public Sub Sample()

'ChromeDriverを使用できる為の準備
Dim driver As New Selenium.ChromeDriver

'配列を定義
Dim 配列() As Variant

'変数を用意
Dim cnt As Integer

With driver

'指定したページへ
.Get "https://vba.company/1016/"
Option Explicit
Public Sub Sample()

'ChromeDriverを使用できる為の準備
Dim driver As New Selenium.ChromeDriver

'セルを定義
Dim セル As Range

With driver

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

'指定したセル範囲を順番に繰り返す
Rem For Each セル In Sheet1.Range("B9", "B26")

'範囲が変わるかもしれない場合は最終行までの範囲にした方がベター
For Each セル In Sheet1.Range("B9", Range("B9").End(xlDown))

'対象のセル
.FindElementById("clientcode").SendKeys セル.Value

'1個隣のセル
.FindElementById("clientname").SendKeys セル.Offset(0, 1).Value

'更新ボタンをクリック
.FindElementById("clientclick").Click

Next

End With

End Sub
'セル範囲を配列に入れる
配列 = Sheet1.Range("B9", "C26").Value

For cnt = LBound(配列, 1) To UBound(配列, 1)

'対象のセル
.FindElementById("clientcode").SendKeys 配列(cnt, 1)

'1個隣のセル
.FindElementById("clientname").SendKeys 配列(cnt, 2)

'更新ボタンをクリック
.FindElementById("clientclick").Click

Next

End With

End Sub


※配列で対応する場合

Option Explicit
Public Sub Sample()

'ChromeDriverを使用できる為の準備
Dim driver As New Selenium.ChromeDriver

'配列を定義
Dim 配列() As Variant

'変数を用意
Dim cnt As Integer

With driver

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

'セル範囲を配列に入れる
配列 = Sheet1.Range("B9", "C26").Value

For cnt = LBound(配列, 1) To UBound(配列, 1)

'対象のセル
.FindElementById("clientcode").SendKeys 配列(cnt, 1)

'1個隣のセル
.FindElementById("clientname").SendKeys 配列(cnt, 2)

'更新ボタンをクリック
.FindElementById("clientclick").Click

コメントを残す

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