【VBA】ブラウザを自動化する【SeleniumBasic】

VBAで
 ・ブラウザを自動化
できます!

この記事では
 ・ブラウザ「Chorome」を自動化
する方法を紹介します!

自動化するために
 ・SeleniumBasic
 ・ChoromeDriver
をインストールします!
※インストール手順も記載します。

PR

前提

・OSがWindowsであること
・ブラウザ「Chorome」がインストール済みであること

PR

SeleniumBasicのインストール

「Selenium」によりブラウザ「Chorome」を自動化できます。
VBA用の「Selenium」である「SeleniumBasic」をインストールします。

手順

以下にアクセスして「SeleniumBasic-X.X.X.X.exe」をクリックし、インストーラーをダウンロードする。

インストーラーをダウンロード
インストーラーをダウンロード


手順

ダウンロードしたインストーラー「SeleniumBasic-X.X.X.X.exe」をダブルクリックする。

インストーラーをダブルクリック
インストーラーをダブルクリック


手順

「Next」をクリックする。

「Next」をクリック
「Next」をクリック


手順

「I accept ~」にチェックを入れて「Next」をクリックする。

「I accept ~」にチェックを入れて「Next」をクリック
「I accept ~」にチェックを入れて「Next」をクリック


手順

「Next」をクリックする。

「Next」をクリック
「Next」をクリック


手順

「Install」をクリックする。

「Next」をクリック
「Next」をクリック


手順

「Finish」をクリックする。

「Finish」をクリック
「Finish」をクリック
PR

ブラウザ「Chorome」のバージョン確認

後続でブラウザ「Chorome」のバージョンに対応した「ChoromeDriver」をインストールします。そのためにブラウザ「Chorome」のバージョンを確認します。

手順

ブラウザ「Chorome」のアドレスバーに「chrome://version」を入力してEnterキーを押す。

「chrome://version」を入力してEnterキーを押す
「chrome://version」を入力してEnterキーを押す

上記の通り私のPC上のブラウザ「Chorome」のバージョンは「111.0.5563.147」でした。

PR

ChoromeDriverのインストール

インストール済みのブラウザ「Chorome」のバージョンに対応した「ChoromeDriver」をインストールします。

手順

以下にアクセスする。


手順

インストール済みのブラウザ「Chorome」のバージョンに対応したリンクをクリックする。
※私のPC上のブラウザ「Chorome」のバージョンは「111.0.5563.147」であるため、今回は「ChromeDriver 111.0.5563.64」をクリックします。

インストール済みのブラウザ「Chorome」のバージョンに対応したリンクをクリック
インストール済みのブラウザ「Chorome」のバージョンに対応したリンクをクリック


見出し

OSに対応したリンクをクリックする。
※私のPCはWindowsのため、今回は「chromedriver_win32.zip」をクリックします。

OSに対応したリンクをクリック
OSに対応したリンクをクリック


手順

ダウンロードした「chromedriver_win32.zip」を展開して、中にある「chromedriver.exe」をコピーし「C:\ユーザー\[ユーザー名]\AppData\Local\SeleniumBasic」に上書きする。

「chromedriver_win32.zip」の中にある「chromedriver.exe」
「chromedriver_win32.zip」の中にある「chromedriver.exe」をコピー
「chromedriver.exe」を上書き
「chromedriver.exe」を上書き
PR

参照設定の追加

VBAで「SeleniumBasic」を使用できるようにします。

VBEの「ツール」-「参照設定」をクリックして、「Selenium Type Library」にチェックを入れ「OK」をクリックする。

参照設定に「Selenium Type Library」を追加
参照設定に「Selenium Type Library」を追加
PR

VBAコード

ここでは例として
 ・Google(https://www.google.com/)にアクセスして
 ・検索ボックスに文字列「VBA実践ガイド」を入力し
 ・検索ボタンをクリック
します。

Option Explicit

Sub sample()
    
    Dim url As String
    Dim inputString As String
    Dim driver As ChromeDriver
    
    'URL
    url = "https://www.google.com"
    '検索ボックスに入力する文字列
    inputString = "VBA実践ガイド"
    
    'Chromeを起動
    Set driver = New ChromeDriver
    'URLを表示
    driver.Get url
    '検索ボックスに文字列を入力
    driver.FindElementByName("q").SendKeys inputString
    
    'ElementNotVisibleErrorを回避するため1秒待つ
    driver.Wait 1000
    
    '検索ボタンをクリック
    driver.FindElementByName("btnK").Click
    
    '3秒待つ
    driver.Wait 3000
    
    'Chromeを閉じる
    driver.Close
    Set driver = Nothing

End Sub

以下を指定します(12~12行目)。

・URL
・検索ボックスに入力する文字列

以下を実施します(15~32行目)。

・Chromeを起動してURLを表示
・検索ボックスに文字列を入力
・検索ボタンをクリック
・Chromeを閉じる

エラー「ElementNotVisibleError」を回避するため、1秒待ちます(22行目)。
※私の環境では上記のエラーが発生しました。他の方の環境でも発生するのかは不明です。
※必要に応じて待ち時間を延ばしてください。

エラー「ElementNotVisibleError」
エラー「ElementNotVisibleError」
PR

実行結果

ブラウザ「Chorome」を自動化することができました。
※Googleにアクセス、検索ボックスに文字列「VBA実践ガイド」を入力、検索ボタンをクリックできました。

実行結果
実行結果
PR

注意点

ブラウザ「Chorome」は頻繁にアップデートされます。その結果、ブラウザ「Chorome」のバージョンと「ChoromeDriver」のバージョンが合わなくなる可能性があります。

バージョンが合わなくなった場合、改めてブラウザ「Chorome」のバージョンに合った「ChoromeDriver」を取得して該当フォルダに上書きしてください。


(2023/6/2追記)
VBAで「ChoromeDriver」のバージョンを自動更新することもできます。

詳細は以下の記事をご確認ください。