「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に限らずどのアプリにも言えることですが、”管理者としてインストール“(右クリックして”管理者として実行”を選択)するか、”ユーザーとしてインストール“(普通にダブルクリック)するかで、インストール先フォルダが変わります
利用するうえではどちらでも特に影響はなく、セキュリティ的にはなるべく権限を絞る方がいいので、迷っている場合はユーザーとして実行する方がベターです

改めてここからインストール手順を順に進めていきます
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 createdやThis 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の差し替えは更新の頻度が高くてけっこう面倒なので、プログラムでチェックした方が吉です
私が自作したプログラムを公開しているので、気になる方はこちらへどうぞ

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












コメント