【Excel×VBA×Selenium Basic】インストールからブラウザ起動まで詳しく紹介

てちてちエンジニアのおっとーです。

 

最近ではいろんなサービスがインターネット上で展開されており、
業務でも以下のような作業を毎日繰り返している方もいるのではないでしょうか。

  • 定期的にキーワードの検索結果1ページ目に表示されるサイトを集計している
  • 同じサイトを毎日見てデータを確認している
  • エクセルで保管しているデータをブラウザへの手動で打ち込んでいる


Windowsのパソコンを所持していればほぼ100%入っているExcelで
ブラウザの自動制御できると言うなら使ってみたいと思う方もいるかも知れないと思ったので、
環境を整えるまでの手順を紹介していこうと思います。

※他のプログラミング言語でもセレニウムは扱えます。他のプログラミング言語を習得している場合Excelを選ぶ必要はありません。
※環境構築とかめんどくさい、手軽に試したいという方向けの投稿となります。

セレニウムの由来とかどうでもいい方は、Seleniumのインストールまで飛ばしてください。

Seleniumとは

Selenium(セレニウム)とは、ウェブドライバーを通してブラウザの自動操作をしてくれるソフトウェアで、
もともとはウェブ系のテストに用いられるものです。

ウェブブラウザを自動操作といっても、
何をどのように操作するか、どんな情報を取得するかはこちらでプログラムを書いてあげる必要があります。

Seleniumのインストール

Releases · florentbr/SeleniumBasic
A Selenium based browser automation framework for VB.Net, VBA and VBScript - florentbr/SeleniumBasic

上記URLから最新版選択しSeleniumBasic-〇〇.exeをダウンロードします。
執筆時点ではSeleniumBasic v2.0.9.0が最新版だったので、
以下の説明はこちらのVersionで説明します。

 

ダウンロードが完了したら、ダウンロードフォルダからexeファイルを実行します。

Nextボタンを押下

I accept the agreement(利用規約に同意する)を選択してNextボタンを押下します

不必要なウェブドライバーを消し、Nextボタンを押下します。
(OperaとIEは絶対に使わないと思ったので、選択を外しました。)

下の画面からインストール先をコピーしてメモしておいてください。
後ほどウェブドライバーの入替えを行うのですが、その際に必要になります。

Installボタンを押下してインストールを進めます。

以上でSeleniumのインストールは完了です。

ウェブドライバーの入替え

続いてウェブドライバーの入替えを行っていきます。
今回は主流のブラウザ2つの入替え方法を紹介します。

Chrome

Chromeブラウザのバージョン確認

Chromeを立ち上げて、画面右上の点々からメニューを開き、「設定」を開きます。

設定ページを開いたら、画面左上のメニューパネルを開き、「Chromeについて」をクリックします。

下の画像の赤線部分から現在パソコンにインストールされているChromeのバージョンを確認します。

Chromeドライバーのダウンロード

ChromeDriver - WebDriver for Chrome - Downloads
Current Releases If you are using Chrome version 115 or newer, please consult the Chrome for Testing availability dashboard. This page provides convenient JSON ...

↑のリンクから、1つ前の手順で確認したChromeのバージョンと同じバージョンのドライバーをダウンロードします。

Windowsを使用している方はWin32.zipをダウンロードしてください。

ドライバーの入替え

ダウンロードが完了したら、
ダウンロードファイルにあるChromedriver_win32.zipを開いて
chromedriverを

C:\Users\〇〇\AppData\Local\SeleniumBasic
(〇〇部分を自分のユーザー名に変更したフォルダパス)
※上記のフォルダパスは、Seleniumのインストールでメモしたインストール先と同じになります。

にドラッグアンドドロップしてください。

以上でChromeドライバーの入替えは完了です。

Microsoft Edge

Edge ブラウザのバージョン確認

Edgeを立ち上げて、画面右上の点々からメニューを開き、「設定」を開きます。

 

設定ページを開いたら、画面左上のメニューパネルを開き、「Microsoft Edgeについて」をクリックします。

下の画像の赤線部分から現在パソコンにインストールされているEdgeのバージョンを確認します。

Edgeドライバーのダウンロード

Microsoft Edge WebDriver (英語) |Microsoft Edge 開発者

↑のリンクから、1つ前の手順で確認したEdgeのバージョンと同じバージョンのドライバーをダウンロードします。

ドライバーの入替え

ダウンロードが完了したら、
ダウンロードファイルにあるedgedriver_win64.zipを開いてmsedgedriver.exeを

C:\Users\〇〇\AppData\Local\SeleniumBasic
(〇〇部分を自分のユーザー名に変更したフォルダパス)
※上記のフォルダパスは、Seleniumのインストールでメモしたインストール先と同じになります。

にドラッグ&ドロップします。
続いて、インストール先にある「edgedriver.exe」(下図の黄色いマーカー)は削除してください。
ドラッグ&ドロップした「msedgedriver.exe」の名前を「edgedriver.exe」に変更します。

 

以上で、Edgeドライバーの入替えは完了です。

Excelの設定

続いてExcel側での設定を行っていきます。

  1. Excelを開きます
  2. VBEを開きます(Alt+F11)
  3. VBE画面のメニューバー内「ツール」→「参照設定」をクリックします
  4. Selenium Type Libraryを見つけチェックボックスに✔を入れます
  5. 「OK」ボタンを押下します

 

以上でExcel側の設定は完了です。

実際に動かしてみる

必要なソフトと設定が完了したので、
Excelから自動操作の一部(ブラウザを立ち上げ)を行っていきます。

開いているExcelのVBE画面から標準モジュールを追加して、
以下のコードを記述します。

Chromeの場合

Sub seleniumTest()
    Dim Driver as New Selenium.ChromeDriver

    With Driver
        .Get "https://google.com"
        .Wait 1000
        .Close
    End With

End Sub

Edgeの場合

Sub seleniumTest()
    Dim Driver as New Selenium.EdgeDriver

    With Driver
        .Get "https://google.com"
        .Wait 1000
        .Close
    End With

End Sub

コードの追加が完了したら、カーソルを追加したプロシージャ(コード内)を選択した状態で、
F5キーを押下して実行します。

ブラウザが立ち上がり、Googleのページが表示されたら成功です!

エラーがでた時の対処法

私も環境準備中にいくつかエラーに遭遇したので、
その時の解決方法を載せておきます。

実行時エラー’-2146232576(80131700)’

実行時エラー ‘-2146232576(80131700)’
オートメーションエラーです。

実行時に以下のようなダイアログが表示された場合は、
Microsoft .NET Framework 3.5が有効化されているか確認してください。

Microsoft .NET Framework 3.5の有効化

コントロールパネルからプログラムを開きます。

Windowsの機能の有効化または無効化をクリックします。

表示された画面から.NET Framework3.5(.NET 2.0および3.0を含む)を見つけチェックボックスを黒塗り状態になるように設定し「OK」ボタンを押下します。

ファイルのダウンロードが必要なので、「Windows Updateでファイルを自動ダウンロードする」を選択します。

以下のような画面が表示されたら完了です。
Excelを再起動して再度動作確認を行ってください。

実行時エラー’21’

実行時に以下のようなダイアログが表示された場合は、
入れ替えを行ったドライバーのバージョンがブラウザのバージョンと一致しているか再確認してください。

バージョンが異なる場合は入れ替えを再度行ってください。

ドライバーの入れ替えは、目次の
Chrome
Edge
から確認してください。

コメント

タイトルとURLをコピーしました