Office関連

VBAでブラウザーを操作するSeleniumWrapperVBAの紹介

Internet Explorerのサポートが終わり、VBAマクロからブラウザーを操作する手段としては「SeleniumBasic」が多く使われていると思います。

ただSeleniumBasicは使用前にインストールする必要がありますし、更新も数年止まっています。
そこで下記記事ではインストール不要で使える「TinySeleniumVBA」(うえぞう氏作成、MITライセンス)を紹介しています。

今回はTinySeleniumVBA同様にWebDriverさえあれば使えるフレームワーク「SeleniumWrapperVBA」(er-ri氏作成、MITライセンス)を紹介します。

WebDriverの準備

SeleniumWrapperVBAを使うには各ブラウザーのWebDriverが必要になりますので、環境に応じて必要なWebDriverを事前にダウンロードしておきます。

SeleniumWrapperVBAの使い方

  1. SeleniumWrapperVBA」を開きます。
  2. Code → Download ZIP から必要なファイル一式をダウンロードし、ダウンロードしたZipファイルを適当なフォルダに解凍します。
  3. VBEを開き、「Options.cls」、「WebDriver.cls」、「WebElement.cls」、「JsonConverter.bas」(VBA-JSON)ファイルをプロジェクトエクスプローラにドラッグ&ドロップしてインポートします(※「ファイル」メニュー → 「ファイルのインポート」からインポートしても可)。
  4. 「ツール」メニュー → 「参照設定」から「Microsoft Scripting Runtime」にチェックを入れて「OK」ボタンをクリックします。
  5. 下記コードを実行し動作確認を行います。下記コードではブラウザー起動時の引数としてWebDriverのパスを指定していますが、Path環境変数として設定しておいても良いようです。
  6. Option Explicit
    
    'SeleniumWrapperVBAでMicrosoft Edgeを操作するサンプル
    Public Sub Sample()
      Dim driver As WebDriver
      
      Set driver = New WebDriver
      With driver
        .Edge "C:\System\Driver\Edge\msedgedriver.exe" 'WebDriverのパスを引数で指定
        .OpenBrowser
        .MaximizeWindow
        .NavigateTo "https://www.ka-net.org/blog/"
        .FindElement(By.ID, "main_col").TakeScreenshot ThisWorkbook.Path & "\Screenshot.png"
        .Quit
      End With
    End Sub

以上、SeleniumWrapperVBAを簡単に紹介してみました。
TinySeleniumVBAと同様にWebDriverさえあれば必要なファイルをインポートするだけで使えるので非常にお手軽です。
ライセンスもMITで使いやすいので、ブラウザー操作にお困りの方は一度試してみてはいかがでしょうか。

関連記事

※WebDriverを使わずにブラウザーを操作するためのライブラリを下記記事で紹介しています。

ChromeDriverでBraveを操作するPowerShellスクリプト前のページ

SlackのメッセージをCSVファイルとして保存するPowerShellスクリプト次のページ

関連記事

  1. Office関連

    「あのコマンドどこだっけ? for Office 2013」の紹介

    Word MVPの新田さんのブログでも紹介していただいている自作フリー…

  2. アイコン一覧

    Office 2013 アイコン一覧(C)

    ・Office 2013 アイコン一覧 NUM…

  3. Office関連

    「もし宇宙人が地球レポートをまとめたら」動画公開

    PLAY! Office第三弾、「もし宇宙人が地球レポートをまとめたら…

  4. Office Scripts

    デスクトップ版ExcelでOffice スクリプトとして操作を記録できるようになりました。

    ※ 本記事で紹介している機能はプレビュー版に基づいており、今後のアップ…

  5. Office関連

    選択したセルに連続行番号を振るWordマクロ

    Wordでマニュアルを作成するとき等、表の中で連番を振りたいときがよく…

  6. Office アドイン

    [Office用アプリ]野良アプリのススメ

    「Office 用アプリの概要」にもある通り、Office用アプリを公…

コメント

  • コメント (2)

  • トラックバックは利用できません。

    • liki
    • 2022年 7月 13日 8:07pm

    TinySeleniumVBAの機能拡張版です
    最近知って使ってます

  1. > liki さん

    ご紹介いただき、ありがとうございます。
    こうした拡張版が公開されるのもオープンソースならではですね!
    大変参考になります。

    https://github.com/GCuser99/SeleniumVBA

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP