Excel vbaを使用してWebスクレイピングを行っています。
プログラムのある時点で、Internet Explorer インスタンスが OpenFileDialog を開きます。このダイアログにアクセスして、ファイル名を指定する必要があります。vbaでこれを行う方法はありますか?
私の考えは、ウィンドウ ハンドルを取得し (既に実行済みです)、ハンドルを使用して何らかの方法でオブジェクトを取得することでしたが、ハンドルを使用してウィンドウにアクセスする方法が見つかりません。
ダイアログ ボックスのhWindがある場合、関数
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
ByVal lParam As Long) As Long
でアプリケーションにキーを送信できるようになります
Debug.Print PostMessage(hWind, WM_KEYDOWN, vbKeyA, 0)
詳細はこちら