業務効率化やデータ収集のために、Excel VBAでWebサイトを自動操作したいと思ったことはありませんか?
そんなときに登場するのが「Selenium」と「ChromeDriver」です。
でも、これって何?どう使うの?どこに置くの?と疑問が尽きないはず。
この記事では、VBAでWeb自動化を始めたい方に向けて、SeleniumとChromeDriverの仕組み・使い方・注意点を初心者目線で徹底解説します。
Pythonなど他言語との違いや、実際のコード例、トラブル回避のポイントも紹介するので、ぜひ最後まで読んでみてください!
Seleniumとは?Web操作を可能にするライブラリ
Seleniumの概要
Selenium(セレニウム)は、Webブラウザをプログラムで自動操作するためのライブラリです。
元々はWebアプリのテスト自動化のために開発されましたが、現在ではスクレイピングや業務自動化にも広く使われています。
ライブラリって何?
Seleniumはプログラムから呼び出して使う機能の集合体(ライブラリ)です。
Excel VBAやPythonなどのコードからSeleniumを使うことで、ブラウザ操作を自動化できます。
対応言語は多彩
SeleniumはVBA専用ではありません。以下のような言語でも利用可能です:
- Python(最も人気)
- Java
- C#
- JavaScript(Node.js)
- Ruby
- VBA(Selenium Basicを使用)
VBAで使うには「Selenium Basic」が必要
VBAからSeleniumを使うには、Selenium Basicというラッパー(橋渡しツール)をインストールする必要があります。
これは、VBAからSeleniumの機能を呼び出せるようにするための専用パッケージです。
Selenium Basicのインストール手順(簡易版)
- GitHubなどから SeleniumBasic をダウンロード
- インストーラーを実行してインストール
- chromedriver.exe をインストールフォルダに配置(後述)
VBAでの基本コード例
Dim bot As New WebDriver
bot.Start "chrome"
bot.Get "https://www.google.com"
bot.FindElementByName("q").SendKeys "Selenium VBA"
bot.FindElementByName("btnK").Click
このように、人間が行う操作をコードで再現できるのがSeleniumの魅力です。
ChromeDriverとは?SeleniumとChromeの橋渡し役
WebDriverの役割
Seleniumがブラウザを操作するには、「WebDriver」と呼ばれる仲介役が必要です。
これは、Seleniumとブラウザの間で命令をやり取りする通訳のような存在です。
ChromeDriverの正体
chromedriver.exe は、Google Chrome専用のWebDriverです。
Seleniumが「Chromeを開いて検索して」と命令すると、ChromeDriverがそれを受け取り、Chromeに伝えます。
chrome.exeとの違い
項目 | chrome.exe | chromedriver.exe |
正体 | Chromeブラウザ本体 | Selenium用の操作仲介ツール |
役割 | ユーザーが直接使う | プログラムがChromeを操作するために使う |
起動方法 | 手動でクリック | Seleniumが自動で起動 |
ChromeDriverの配置場所と注意点
どこに置けばいい?
VBAでSelenium Basicを使う場合は、chromedriver.exe を以下のフォルダに配置するのが一般的です:
C:\Users\ユーザー名\AppData\Local\SeleniumBasic
このフォルダに置くことで、Selenium Basicが自動的にChromeDriverを認識してくれます。
他言語の場合は?
Pythonなど他の言語では、chromedriver.exe の場所をプログラム内で指定するか、環境変数でパスを通す必要があります。
複数の環境で使う場合は、共通のフォルダ(例:C:\WebDrivers)に置いておくと便利です。
ChromeDriverに付属するファイルの意味
ChromeDriverをインストールすると、以下のようなファイルが一緒に展開されることがあります:
ファイル名 | 役割 |
LICENSE.chromedriver | 利用規約(削除しても問題なし) |
README.txt | 簡単な説明書(英語) |
chromedriver.log | 実行時のログ(エラー解析に使える) |
chromedriver_win32.zip | ダウンロード元の圧縮ファイル(展開後は不要) |
基本的には chromedriver.exe だけあれば動作しますが、ログやREADMEはトラブル時に役立つので保管しておくのがおすすめです。
ChromeDriverのバージョン管理に注意!
ChromeDriverは、Chrome本体のバージョンと一致している必要があります。
例えば、Chromeがバージョン116なら、ChromeDriverも116対応版を使う必要があります。
バージョン確認方法
- Chromeのバージョン確認:chrome://settings/help
- ChromeDriverのバージョン確認:コマンドプロンプトで chromedriver.exe –version
自動更新ツールもある
Python環境では webdriver-manager というライブラリを使えば、ChromeDriverを自動でダウンロード・更新できます。
VBA環境では手動更新が基本ですが、バージョン管理を意識しておくとトラブルを防げます。
実用例:VBAでログイン処理を自動化する
Seleniumを使えば、ログインフォームへの入力も自動化できます。以下はその一例です:
bot.Get "https://example.com/login"
bot.FindElementById("username").SendKeys "your_id"
bot.FindElementById("password").SendKeys "your_password"
bot.FindElementById("login-button").Click
このように、IDやパスワードの入力、ボタンのクリックも自動で行えるため、定型業務の効率化に最適です。
まとめ:SeleniumとChromeDriverはセットで理解しよう
用語 | 正体 | 役割 |
Selenium | ライブラリ | Webブラウザを自動操作する |
Selenium Basic | VBA用ラッパー | VBAからSeleniumを使えるようにする |
chrome.exe | Chromeブラウザ本体 | 実際にWebページを表示する |
chromedriver.exe | Chrome用ドライバー | SeleniumとChromeの橋渡しをする |
おわりに:Web自動化の第一歩を踏み出そう
VBAでWeb操作を始めると、最初は「Selenium?ドライバー?どこに置くの?」と戸惑うことが多いですが、仕組みを理解すればとても強力なツールになります。疑問を一つずつ解消しながら進める姿勢が、スムーズな自動化への近道です!
次回は「ファイルダウンロードの自動化」や「複数ページの巡回処理」など、さらに実践的な内容にも挑戦してみましょう✨
この記事が、あなたの自動化ライフの第一歩になれば嬉しいです!