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関連

    Faviconをダウンロードするマクロ

    WebサイトからFaviconを抜き出すAPIがあったので早速使ってみ…

  2. Windows 10

    Microsoft Edgeの拡張機能でHello Worldしてみた。

    「【Windows 10ユーザーズ・ワークベンチ】Edgeの拡張機能サ…

  3. Office関連

    Office 2010のオブジェクトリスト

    オブジェクト ブラウザーから取得できる、各Office 2010アプリ…

  4. Office アドイン

    Office 用アプリの開発資料(日本語)が公開されました。

    Office 用アプリの開発資料(日本語)が公開されました。・…

  5. Excel

    VBAから扱えるDLLをC#で書いてみる。

    以前書いた記事でSharpDevelopを使ってExcel用のCOMア…

  6. Office関連

    Word文書をMicrosoft SwayのWebページに変換する方法

    先月のアップデート(バージョン 1812(ビルド 11126.2018…

コメント

  • コメント (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