SeleniumBasic + VBA スクレイピング 環境構築手順について
Excel VBAとSeleniumBasicを利用して
EdgeまたはChromeを自動操作し、Webサイトからデータを取得するマクロ(スクレイピング)を作成しました。その際に動作させるための環境構築手順をまとめたものです。
対象:
- Windows 10 / 11
- Excel 2016 以降(64bit対応済)
- Edge / Chrome(いずれか)
2. 環境構成
項目 | 内容 |
---|---|
OS | Windows 10 / 11 (64bit) |
Excel | Microsoft Excel 2016 / 2019 / 2021 / 365 |
SeleniumBasic | v2.0.9.0(最終安定版) |
ブラウザ | Microsoft Edge または Google Chrome |
WebDriver | Edge用: edgedriver.exe / Chrome用: chromedriver.exe |
3. 事前準備
3.1. 必要なファイルの取得
- SeleniumBasic本体
- ダウンロード先(推奨):
https://github.com/florentbr/SeleniumBasic/releases - ファイル名例:
SeleniumBasic-2.0.9.0.exe
- ダウンロード先(推奨):
- 対応するWebDriver
- Edge:
Microsoft Edge WebDriver
→ PCのEdgeバージョンに合わせた 同じメジャーバージョンをダウンロード - Chrome:
ChromeDriver ダウンロード
→ Chromeと同じメジャーバージョンを選択
- Edge:
- 取得したWebDriverの配置
- 配置先:
C:\Users\<ユーザー名>\AppData\Local\SeleniumBasic\
- ※動作しない場合は、管理者権限にてSeleniumBasicをインストールの場合:C:
\
Program Files\
SeleniumBasic\
- Edgeの場合:
ダウンロードしたmsedgedriver.exe
→edgedriver.exe
にリネーム - Chromeの場合:
ダウンロードしたchromedriver.exe
→ そのまま配置
- 配置先:
4. 環境構築手順
4.1. SeleniumBasic のインストール
SeleniumBasic-2.0.9.0.exe
を 管理者として実行- インストール先はデフォルトのまま(変更不要)
- 完了後、以下のフォルダが作成される:
C:\Users\<ユーザー名>\AppData\Local\SeleniumBasic\
4.2. .NET Framework 3.5 の有効化
SeleniumBasicは古いCOMライブラリを利用するため、.NET Framework 3.5が必要です。※重要
有効化手順
- 設定 → アプリと機能 → Windowsの機能の有効化または無効化
- .NET Framework 3.5 (.NET 2.0 および 3.0を含む) にチェックを入れて有効化
- 再起動
4.3. Excel VBA の設定
- Excelを開き、[開発] → [VBAエディタ](
Alt + F11
) - 参照設定
メニュー → [ツール] → [参照設定]- 「Selenium Type Library」にチェックを入れる
- 保存
5. 動作確認手順
5.1. SeleniumBasic スクリプトで起動テスト
- 以下のフォルダにあるテストスクリプトを実行:
C:\Users\<ユーザー名>\AppData\Local\SeleniumBasic\Scripts\StartEdge.vbs
- Edgeブラウザが自動起動すれば正常。
5.2. VBA テストコードでの起動確認
以下のサンプルコードをVBAモジュールに貼り付け:
Option Explicit Sub Test_Selenium() Dim drv As New Selenium.WebDriver drv.Start "edge" ' または "chrome" drv.Get "https://www.google.com" MsgBox drv.Title drv.Quit End Sub
- ブラウザが起動し、タイトルが表示されればOK
6. ブラウザ更新時の対応
6.1. 問題が起きるタイミング
- Edge/Chrome が自動更新されると、
- SeleniumBasic に付属の
edgedriver.exe
/chromedriver.exe
が古いままになり、 - 「ポートを開けません」エラーや**「ordinalが見つからない」エラー**が発生。
6.2. 対応手順
- ブラウザのバージョンを確認
- Edge:
… → ヘルプ → Microsoft Edge について
- Chrome:
設定 → Chromeについて
- Edge:
- 同じメジャーバージョンのWebDriverを再ダウンロード
SeleniumBasic
フォルダ内のドライバを入れ替え
7. トラブルシューティング
症状 | 原因 | 対策 |
---|---|---|
ActiveX コンポーネントを作成できません (429) | SeleniumBasic のCOM登録失敗 | SeleniumBasicを管理者権限で再インストール |
TimeoutError: The driver failed to open the listening port | WebDriverとブラウザのバージョン不一致 | 対応するバージョンのドライバに差し替え |
ordinalが見つからない | WebDriverが古すぎる | 新しいバージョンに更新 |
#resultList が見つかりません | 検索結果画面でない | 検索条件入力後に一覧表示画面を開いた状態で実行 |
8. 運用上のポイント
- Edge/Chromeの自動更新を抑制すると安定運用が可能
→ 更新時はドライバも一緒に差し替える - WebDriverは毎回取得せず、複数バージョンを保管しておくと復旧が早い
- トラブル発生時は、まず ブラウザとWebDriverのバージョン一致を最優先で確認
9. まとめ
- SeleniumBasicは非常に軽量でVBAとの相性が良いが、WebDriverのバージョン管理が肝
- ブラウザ更新時は必ずドライバも揃える
- 上記手順どおり構築すれば、別PCでも同じマクロを問題なく動かせます
Share this content:
コメントを送信