やりたいこと
ExcelVBAでSeleniumBasicを使ってChromeを自動操作するとき、
ユーザーにメッセージを伝えたいことがあります。
その場合、VBAのmsgbox
を使っても良いですが、
一旦画面をExcelに戻さないといけないので、不便です。
そこで、Seleniumで操作しているブラウザ上でそのままメッセージを表示できると便利です。
コード
コードは以下の通りです。
前提として、SeleniumBasic、ChromeDriverはインストール済み、参照設定でSelenium Type Libraryを設定済みとします。
'プロシージャの外で宣言すると、プロシージャが終わってもブラウザが消えない
Private Chrome As New selenium.ChromeDriver
Sub msgbox_on_chrome()
'適当なサイトにアクセス
Chrome.Get "https://www.google.com/"
'サイト上でメッセージを表示
text = "これはVBAからのメッセージです。何か検索してください。"
Chrome.ExecuteScript ("alert('" & text & "');")
End Sub
コードの一行目でselenium.ChromeDriverを宣言しているのは、
プロシージャの外でドライバの宣言をすると、プロシージャの実行が終わってもブラウザが消えなくなるためです。
詳しくはこちら
https://qiita.com/shibahead/items/0a17efaa70995756261c
おわり
以上です。お疲れ様でした。