|
▼あつし さん:
' ページの表示待ちの後。
'これでクリックされるかは分かりませんが。
objIE.Document.Script.setTimeout "javascript:document.all.item("投 票").click()",1000
SendKeys "{Enter}"
↑ので上手く行かなければ。
ーーー
Dim i As Long
For Each objItem In objIE.document.all
If objItem.tagName = "INPUT" Then
If objItem.Value = "投 票" Then
'objItem.Click
Debug.Print i
End If
End If
i = i + 1
Next
ーーー
objIE.Document.Script.setTimeout "javascript:document.all.item(↑のコードで得られたiの数を指定).click()",1000
SendKeys "{Enter}"
後はページの表示の待ち方が足りないです。
参考)
http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200503/05030028.txt
> SendKeys "{Enter}"
確実に行いたいなら、SendKeysでなくて
GetLastActivePopup API、PostMessage APIで。
Option Explicit
'モジュールレベルで宣言。
Private Declare Function GetLastActivePopup Lib "user32" _
(ByVal hwndOwnder As Long) As Long
Private Declare Function PostMessage Lib "user32" _
Alias "PostMessageA" (ByVal hWnd As Long, _
ByVal Msg As Long, ByVal wParam As Long, _
ByVal lParam As Long) As Long
Private Const WM_COMMAND = &H111
--- 中略 ---
Dim hDlg As Long
'ダイアログのウィンドウハンドルを取得。
Do
DoEvents
hDlg = GetLastActivePopup( objIE.hwnd )
Loop Until hDlg <> objIE.hwnd
'ダイアログのはいボタン押下
PostMessage hDlg, WM_COMMAND, vbYes, 0
|
|