
Excel VBAでWebスクレイピングをする場合にIEを使う方法があるのですが、なんとなくIEを使うことに抵抗があったりしませんか?
Seleniumを使うことでChromeを起動させることができるようになります。
そして実際にWebページをスクレイピングするコードも簡単に書けるので非常に便利です。
今回は環境の準備として、SeleniumをインストールしてVBAでChromeを起動させてみます。
データの取得についてはこちら

Seleniumをインストール
SeleniumはGithubで公開されています。
「Release page」をクリックすると、最新版のページが開きます。
本記事のエントリー時点での最新版は「SeleniumBasic v2.0.9.0」です。
「SeleniumBasic-2.0.9.0.exe」をダウンロードします。

ダウンロードした「SeleniumBasic-2.0.9.0.exe」を起動してインストールします。
特に特殊な設定とかはないので画面の指示通りに進めてください。

ChromeDriverをインストール
ChromeDriverを以下のサイトからダウンロードします。
Googleのサイトなので私のように中国にいる場合はアクセスできません。
日本や香港などのVPNサーバ経由でアクセスしてください。
私はAWSを使って、VPNサーバを東京リージョンに構築しています。

使っているChromeのバージョンに合うものをダウンロードしてください。


そうするとバージョンが表示されます。
本記事のエントリー時点でバージョンは「94.0.4606.54」でした。
ダウンロードしたChromeDriverをSeleniumのインストールフォルダに上書きします。
Seleniumのインストールフォルダは「C:\Users\(ログインしているユーザ名)\AppData\Local\SeleniumBasic」です。

VBAでChromeを起動させる
VBAでSeleniumを使う準備が整ったので、実際にVBAからChromeを起動させてみます。
参照設定
VBAでSeleniumのライブラリを使えるように参照設定を行います。
「ツール」→「参照設定」を開きます。

「Selenium Type Library」にチェックを入れて、「OK」をクリックします。

Chrome起動
Chromeを起動して、Yahooのトップページを開きます。
Sub OpenYahoo()
Dim Driver As New Selenium.WebDriver
Driver.Start "Chrome"
Driver.Get "https://www.yahoo.co.jp"
Stop
Driver.Close
Set Driver = Nothing
End Sub
StopコマンドでChromeが起動していることを確認しています。
バージョンが異なるChromeDriverを使うと…
Chromeのバージョンと異なるChromeDriverを使うとエラーになるので注意してください。


