[[20180619172629]] 『IEの画面コピーの取得方法』(ぬるぬる) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『IEの画面コピーの取得方法』(ぬるぬる)

多数のURLをInternetExplorerで順番に開いて、画面内の特定領域の画面コピーを取得してセルに貼っていきたいのですが、見つかった方法ではAlt+PrintScreenを送信して取得する方法なためウィンドウ全体になってしまいます。
IEの描画エリアの左上を0,0として座標を指定して画像データを取得する方法は無いでしょうか。

また、目的のページがポップアップウィンドウが出るため、アクティブウィンドウですと不安定になりがちです。ie.hwndを基準に取得出来ないものかと考えています。

VBAでやる方法はあるのでしょうか?
以下、実際に稼働しているマクロ全文になります。

Option Explicit

Public Declare Function SetForegroundWindow _

    Lib "user32" ( _
    ByVal hwnd As Long) _
As Long

Public Declare Sub keybd_event Lib "user32" ( _

    ByVal bVk As Byte, _
    ByVal bScan As Byte, _
    ByVal dwFlags As Long, _
    ByVal dwExtraInfo As Long _
        )

Sub TestCaptureMain()

    Application.Wait [Now() + "00:00:01"]

    If IE実行("http://google.co.jp") Then
        Application.Wait [Now() + "00:00:03"]

        Call CaptureActiveWindow
        Application.Wait [Now() + "00:00:01"]

        Cells(2, 2).Select
        ActiveSheet.paste
    End If

    If IE実行("http://yahoo.co.jp") Then
        Application.Wait [Now() + "00:00:03"]

        Call CaptureActiveWindow
        Application.Wait [Now() + "00:00:01"]

        Cells(10, 2).Select
        ActiveSheet.paste
    End If

End Sub

Function IE実行(URL As String) As Boolean

    On Error Resume Next

    Static ie As Object
    If TypeName(ie) = "Nothing" Or TypeName(ie) = "Object" Then
        Set ie = CreateObject("InternetExplorer.Application")   'typename = IWebBrowser2
    End If

    Call SetForegroundWindow(ie.hwnd)

    With ie
        .Navigate (URL)
        .Visible = True
    End With
    Do While ie.Busy = True Or ie.readyState <> 4
        DoEvents
    Loop

    IE実行 = True
    Exit Function

ERR_Execute:

    IE実行 = False
End Function

Public Sub CaptureActiveWindow()

    Cells(1, 1).Copy
    Application.CutCopyMode = False
    keybd_event &HA4, 0&, &H1, 0&
    keybd_event vbKeySnapshot, 0&, &H1, 0&
    keybd_event vbKeySnapshot, 0&, &H1 Or &H2, 0&
    keybd_event &HA4, 0&, &H1 Or &H2, 0&
End Sub

< 使用 Excel:Excel2016、使用 OS:Windows10 >


すいません。

いろいろ検索キーワードを変えて調べていたら参考になりそうなコードを発見しました。
http://www.ryokurian.jp/atelier/ieshot/

これを改造して作れないか試してみます。

(ぬるぬる) 2018/06/19(火) 18:28


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.