VBAでEdgeを使用する方法 ①準備編
前提
- ChromiumベースのEdgeが対象
- 本記事作成時のEdgeのバージョンは88.0.705.74 (公式ビルド) (64 ビット)
Step 1. Selenium Basicの入手
Selenium BasicはVBAなどで制御するためのライブラリ。
こちら からダウンロード
- 開いたページ内の「.exeファイル」をダウンロードする
- 本記事作成時のファイル名は「SeleniumBasic-2.0.9.0.exe」
ダウンロード後は基本規定値のままインストールをする。こだわりがあれば規定値から変更する。インストール先の規定値は「%LOCALAPPDATA%\SeleniumBasic」となっている。エクスプローラのアドレスバーにこれをコピペすると直接アクセス可能。
Step 2. ブラウザのバージョンと合ったドライバを入手
ChromeやEdgeのドライバは最新版に対応していないため、別途ダウンロードする*1。ブラウザのバージョンとドライバが対応していない場合はVBA実行時に実行時エラーが発生するため事前に確認して入手しておく*2。
Edgeの場合はこちらから。
ダウンロードをしたら.zipファイルを展開して中のドライバ*3をStep 1のインストール先フォルダに保存する。
《重要》このとき「msedgedriver」を「edgedriver」に変更すること*4。
Step 3. VBEの参照設定
マクロブック(.xlsmのファイル)を準備する。VBE(マクロを書くところ)を開いたらメニューバー > ツール > 参照設定を開き「Selenium Type Library」を参照する(=チェックを入れる)。
Step 4. 動作確認
やりたいことができる環境であるかを確認する。以下はYahoo Japanで「大人の教養サロン」を検索するマクロコード。これを実行して意図した通りになるかを確認する。
Sub Edge_Macro_01()
Dim driver As New Selenium.EdgeDriver
With driver'ヤフーを開く
.Get "https://www.yahoo.co.jp/"'検索ワードを入力
.FindElementByName("p").SendKeys ("大人の教養サロン")'検索ボタンクリック ※ここではSubmitの部分はClickでもOK
.FindElementByClass("PHOgFibMkQJ6zcDBLbga8").Submit'マクロが終了するとEdgeも終了するために一時停止をしている。
Stop'ドライバを終了
.Quit
End With
End Sub
以上で準備完了!