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でのネット記事は少なく困っている方も多いと思います。
弊社で代行開発も可能ですので、お気軽にご用命ください。



コメント