【VBA】VBAでWebを自動化!SeleniumBasicインストールから使い方まで解説

「Webサイトから定期的に情報を取得したい」「Web上のフォームに毎回同じ内容を入力するのが面倒だ」——そんな定型作業を自動化できたら、と思ったことはありませんか?

Excel VBAと「SeleniumBasic」を組み合わせることで、こうしたWebブラウザ上の操作を自動化できます

この記事では、SeleniumBasicの導入から、実際にVBAでブラウザを操作する最初のステップまで解説します

ひとつ頭に入れておいてほしいのが、SeleniumBasicは2016年を最後に更新が止まっている枯れたツールという点です、最新のChromeで動かすにはドライバーを手動で差し替える前提になり、無保証・自己責任で使うことになります

同じVBA×Seleniumで後継の「SeleniumVBA」という選択肢もあります、ドライバーの自動更新や.NET Framework不要といった点で便利な一方で、SeleniumBasicはPythonなど他言語でSeleniumを使い慣れている人にはAPIの書き方が近くて馴染みやすいという強みもあります

どちらが向いているかは状況次第なので、記事の最後に使い分けガイドをまとめました、まずはSeleniumBasicのインストールから動かすところまで順に見ていきます

目次

まずSeleniumとSeleniumBasicとは

Seleniumは、Webブラウザの操作を自動化するためのフレームワーク、もともとはUIテスト用に開発されましたが、RPAやスクレイピングにも活用できます

  • 対応言語:Python、Java、Ruby、VBAなど
  • 対応ブラウザ:Chrome、Edge、Firefox

そしてSeleniumBasicは、そのSeleniumをVBAのクラスから利用できるようにするためのモジュールです

オープンソースなので無料で利用でき、学習コストこそかかるものの、よくあるRPAツールのようなイニシャル/ランニングコストはかかりません

ひとつ知っておいてほしいのが、SeleniumBasic本体は2016年3月のバージョンが最後で、それ以降は更新が止まっているという点です

古くからの定番ではありますが、後継のSeleniumVBAという選択肢もあります、深刻な脆弱性の報告が表立っているわけではないものの、無保証・自己責任で使う前提で、同梱されているドライバーは古いので各自で最新版を用意するのが基本になります

SeleniumBasicのインストール手順

インストーラーを実行するだけの簡単な操作ですが、ふだんあまり使わないGithubからのダウンロードなので、キャプチャ付きで手順を追っていきます

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

まずはGithubからSeleniumBasicのインストーラーをダウンロードします

https://github.com/florentbr/SeleniumBasic/releases/tag/v2.0.9.0

最終更新が2016年3月と古いですが、配布自体は2026年の今も問題なくできます、長く広く使われてきたツールなので、まずはこのバージョンをダウンロードしてください

インストーラーの実行

SeleniumBasicに限らずどのアプリにも言えることですが、”管理者としてインストール“(右クリックして”管理者として実行”を選択)するか、”ユーザーとしてインストール“(普通にダブルクリック)するかで、インストール先フォルダが変わります

利用するうえではどちらでも特に影響はなく、セキュリティ的にはなるべく権限を絞る方がいいので、迷っている場合はユーザーとして実行する方がベターです

右クリックから「管理者として実行」

改めてここからインストール手順を順に進めていきます

STEP
最初の画面でNext

最初の画面は無心で「Next」をクリックします

STEP
ライセンスに同意

ライセンス契約が気になる人は一読しつつ、「I accept the agreement」を選択して「Next」をクリックします

STEP
インストール対象を選択

インストール対象の選択画面です

今は使えないInternet ExplorerやPhantomJSのドライバーもありますが、インストールしただけで何か影響が出るわけでもないので、よくわからない人は初期値の”Full installation”でもいいし、無駄なものはインストールしたくない人は下のように選んでおけばOKです

STEP
インストール先を確認

最終確認画面です、ここにインストール先のフォルダが表示されているのでチェックしておきます

  • 管理者の場合・・・C:\Program Files\SeleniumBasic
  • ユーザの場合・・・C:\Users\<ユーザー名>\AppData\Local\SeleniumBasic
STEP
インストール完了

これで無事完了です

chromedriverを最新版に差し替える

インストールした直後の状態でSeleniumを利用すると、VBAから怒られます

chromedriverには、ふだん使っているChromeのバージョンに合わせたドライバーが必要という特徴があります、SeleniumBasicに同梱されているドライバーは2016年当時のもので古すぎるため、まずバージョンが合わずに動きません

というわけで、最新のChromeで動かすにはchromedriverの差し替えが前提になります、ここからその手順を紹介していきます

※プログラムで自動更新もできるので、気になる方は最下部へ※

Chromeのバージョン確認

まず今使っているChromeのバージョンの調べ方は、「Chrome右上の︙ → ヘルプ → Google Chromeについて」の設定画面を開くと見られます、アドレスバーにchrome://settings/helpと入れても同じ画面に飛べます

chromedriverのバージョン確認

続いてchromedriverのバージョンの調べ方は、インストールフォルダにある「chromedriver.exe」を実行すると、コンソール画面が立ち上がってバージョンが表示されます

※Chromeは起動時に自動更新されていくのに対し、chromedriverは前述のとおり自動更新されないため、放っておくとバージョン不一致が発生することがあります

Chrome for Testingから差し替え

更新と言っても、実際は対象バージョンのchromedriverと入れ替えを行うだけです

下のページから、今使っているChromeのバージョンに合わせたドライバーをダウンロードします、Stableの中になければ下部にBeta/Dev/Canaryのチャンネルもあるので、そこから合うものを探してください

https://googlechromelabs.github.io/chrome-for-testing/#stable

chromedriverの行から、OSに合わせてURLを直接叩いてダウンロードします、64bitのWindowsならwin64を選べます(win32でも動作します)

ダウンロードしたzipを解凍すると「chromedriver.exe」が取り出せるので、SeleniumBasicをインストールしたフォルダにある古いドライバーを、これで上書き更新します

うまく起動しないときは、たいていバージョン不一致が原因です

session not createdThis version of ChromeDriver only supports Chrome version XXXといったエラーが出たら、Chromeのバージョンを確認して、それに一致するchromedriverをChrome for Testingから入手し、差し替えてあげればOKです

なお構成によっては、実行ファイルの指定やユーザーデータフォルダの指定といった追加設定が必要になる場合もあります(2026年時点)、まずはバージョンを合わせるところから試してみてください

※Chrome 115より前は管理ページが違いました

Chrome 115より前のバージョンでは、下の旧管理ページからドライバーを配布していました

https://sites.google.com/chromium.org/driver/downloads

今はChrome 115以降が当たり前なので、基本はChrome for Testingを使えば大丈夫です、古いChromeのドライバーを探すときの参考までに残しておきます

.NET Framework 3.5 を用意する

VBAからCreateObject(“Selenium.ChromeDriver”)でインスタンスを作ろうとしたときに、.NET Framework 3.5がないとオートメーションエラーが発生する場合があるので、その対応をしておきます、これは2026年の今でも変わらず必要です

Windows 11での正攻法は、「Windowsの機能の有効化または無効化」を開いて.NET Framework 3.5(.NET 2.0 および 3.0 を含む)にチェックを入れる方法です、スタートメニューで「Windowsの機能」と検索すると設定画面が開けます

.NET Framework 3.5の入れ方は、お使いのWindows 11のバージョンで手順が分かれます

  • 25H2以前・・・「Windowsの機能の有効化または無効化」やDISMコマンド(NetFx3)で入れられます
  • 26H1(build 28000)以降・・・専用のスタンドアロンインストーラーのみで、「機能の有効化」やDISMでは入れられません

26H1以降のWindows 11を使っている場合は、Microsoftが配布している.NET Framework 3.5のスタンドアロンインストーラーを使う形になります

もう少し手早く済ませたい場合は、SeleniumBasicフォルダ内のScriptsフォルダにある「StartChrome.vbs」を実行する方法もあります、.NET Framework 3.5が入っていなければ、エラーメッセージとともにインストール画面が出てくるので、そのまま導入できます

すでに.NET Framework 3.5がインストールされている場合は、空のChromeが立ち上がってメッセージが出てきます

このStartChrome.vbsから.NETを呼び出す方式(オンデマンドのインストール)は、26H1以降のWindows 11では使えないので、その場合は前述のスタンドアロンインストーラーで入れてください

ちなみにStartChrome.vbsの中身はこれだけです

Set driver = CreateObject(“Selenium.ChromeDriver”)」で発生するエラーに反応して.NET Framework 3.5のインストールを促してくれるんだろうから「さすがMS」と思いつつ、「だったらVBAでもそうしてくれよ・・・」と不満を吐いてみます

Set driver = CreateObject("Selenium.ChromeDriver")
driver.Start
WScript.Echo "Click OK to quit"
driver.Quit

なお、Microsoftの正規ページから.NET Framework 3.5を入手する経路もありますが、Windows 11では上記の「Windowsの機能の有効化」が主役になるので、まずはそちらを試すのがおすすめです

Edge(msedgedriver)を使う場合

ChromeだけでなくEdgeでも同じ話で、当然ながらドライバーの配布サイトが違うので、Edgeの場合はこちらから入手します

https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver

各チャネルの最新版はページ上部から中央に、過去版を含めたバージョン別のドライバーはその下の「Recent versions」から「Go to full directory」とたどると見つかります

Edgeで気をつけたいのが、Edge本体とmsedgedriverは、バージョン番号の先頭3つを一致させる必要があるという点です

Edgeは自動更新で頻繁にバージョンが上がっていくので、ここがいちばんつまずきやすいところです、SeleniumBasic同梱のドライバーも古いので、Chromeのときと同じようにEdge用のドライバーも最新版へ差し替えてあげてください

現行はChromium版Edgeが前提なので、レガシーEdge向けの古いドライバーは気にしなくて大丈夫です

SeleniumBasicとSeleniumVBAの使い分け

どちらも「VBAからSeleniumを使う」ための仕組みですが、向いている場面が違います

SeleniumBasicが向いている場面

  • 既存のSeleniumBasicコードを保守・引き継ぐ場合
  • Pythonなど他言語でSeleniumを使い慣れている場合(driver.Get "URL"などAPIの書き方が近い)
  • ネット上の解説記事や書籍が豊富な方がいい場合

SeleniumVBAが向いている場面

  • ゼロから新規で始める場合
  • chromedriverの手動更新を省きたい場合(自動更新対応)
  • 長期でメンテしていくプロジェクトで、継続開発中のツールを使いたい場合

SeleniumVBAに興味がある方はSeleniumVBAの使い方もあわせてどうぞ

あとがき

VBAの場合は、ここまでやって利用準備が完了です

ここまで読んでいただいて分かるとおり、chromedriverの差し替えは更新の頻度が高くてけっこう面倒なので、プログラムでチェックした方が吉です

私が自作したプログラムを公開しているので、気になる方はこちらへどうぞ

あわせて読みたい
【VBA】SeleniumBasicのchromedriverを自動更新する PythonのSeleniumはchromedriverをchromeに合わせて自動更新する方法が確立していますが、VBA用のSeleniumBasicにはそんな機能備わっていないので独自に作ってみました ...

chromedriverの手作業が面倒に感じた方は、上の使い分けガイドも参考にSeleniumVBAへの乗り換えも選択肢のひとつです

📚 VBAの独学に効く本PR
Excel VBA塾【動画×本で学ぶ!】

Excel VBA塾【動画×本で学ぶ!】

たてばやし淳

パーフェクトExcel VBA

パーフェクトExcel VBA

高橋宣成

Excel マクロ&VBA[実践ビジネス入門講座]完全版 第3版

Excel マクロ&VBA[実践ビジネス入門講座]完全版 第3版

国本温子

私のおすすめからランダムで3冊を表示しています


最後に・・・

クラウドワークスココナラでお仕事受け付けています!

PythonとExcelを中心に仕事に役立つ業務ツールや自動化、スクレイピングツールの作成を受注していて、クラウドワークスでは気が付けば100件以上のお仕事を受注してきました!

会社員をやりながらの副業なので時間の捻出は相応ですが、クライアントの方々と近い立場でこちらからも提案しながら活動していますのでお悩みあれば是非ご相談ください

ココナラのプロフィールページへ

"ココナラ"に新規登録する際は1,000Pもらえる紹介コード使ってください

78E62K

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

VBAとPythonを中心にユーザー側でできるITを自己学習しているので備忘録半分、学習履歴を残して同じ道を辿る人の参考になればとブログを始めました

副業でスクレイピングツール作成を中心にできることを色々やっていますのでご相談いただけるとありがたいです!


クラウドワークスのページへ


ココナラのページへ

コメント

コメントする

目次