Selenium(Edge/Chrome)

Chrome/Edgeでキャプチャした画像をエクセルに貼付する【TakeScreenshot】【Selenium】【ExcelVBA】

VBAでEdge/Chromeで表示している画面をキャプチャしたい場合があります。
TakeScreenshotで画面キャプチャ(スクリーンショット)として保存が可能ですが、
ファイルとして保存ではなく、Excelに貼付したい場合あります。

そちらはObjectとして画像をコピーしてPaste処理で対応可能です。

キャプチャした画像をエクセルに貼付するサンプルコード

Dim driver As New Selenium.WebDriver

'■Edge/Chromeでブラウザ画面キャプチャ後、エクセルへ貼付する
Public Sub sample()

    '■ブラウザを起動
    driver.Start "chrome"
    driver.Get "https://vba-create.jp/"
   
    '■オブジェクトへスクリーンショットを格納
    Dim sImage As Object
    Set sImage = driver.TakeScreenshot
    
    '■クリップボードへコピーして貼り付け
    sImage.Copy
    ActiveSheet.Paste Destination:=Range("A1")
End Sub

注意点

  • 画像ファイルを保存したい場合はこちらの記事を参照。
  • キャプチャサイズを最大サイズ(スクロールしたサイズ)も含めたい場合は、こちらの記事を参照。

関連記事

SeleniumBasicについて

Internet Explorer11 のサポート期限が2022年6月までと、スクレイピング自体入れ替えていく必要があります。
今一番スムーズなのはSeleniumBasicを使用したスクレイピングと考えます。

但し、VBAでのネット記事は少なく困っている方も多いと思います。
弊社で代行開発も可能ですので、お気軽にご用命ください。

コメント

タイトルとURLをコピーしました