Internet Explorerのサポート終了が迫っており、Webサイトのスクレイピング代案を検討しないといけません。
当方では、今後SeleniumBasicを用いる予定です。
Edge/Chromeの起動をするサンプルコード
Dim driver As New Selenium.WebDriver Public Sub sample() '■chrome かEdgeどちらかを選択。 driver.Start "chrome" ' driver.Start "edge" '■目的のサイトへ移動する driver.Get "https://vba-create.jp/" '■もちろんURLを変数化してもOK Dim sURL As String: sURL = "https://vba-create.jp/" driver.Get sURL End Sub
※事前に参照設定が必要です。
コードの意味
今回はコード内のコメントを見てもらえば、理解はいただける事でしょう。
事前にどのブラウザ(ChromeなのかEdgeなのか)か決まっているようであれば、ブラウザ含めて宣言も可能です。
'■chrome かEdgeどちらかを選択。 Dim driver As New Selenium.ChromeDriver 'Dim driver As New Selenium.EdgeDriver Public Sub sample() driver.Start End Sub
注意点
- 変数driver はモジュール外に記載しています。
- 理由はモジュール内だとEnd Subまで処理を追えると自動でブラウザ画面が閉じるためです。
下記参照。
SeleniumからEdge/Chromeが起動してもすぐ消えてしまう【ExcelVBA】
SeleniumBasicについて
Internet Explorer11 のサポート期限が2022年6月までと、スクレイピング自体入れ替えていく必要があります。
今一番スムーズなのはSeleniumBasicを使用したスクレイピングと考えます。
但し、VBAでのネット記事は少なく困っている方も多いと思います。
弊社で代行開発も可能ですので、お気軽にご用命ください。
コメント