FROM
およびドロップダウンの名前を検証するのに十分な時間を与えていないため、そのエラーが発生していますTO
(はい-テキストボックスではありません)
このコードを試してください (試行およびテスト済み)。また、IEでLate Bindingを使用しています。必要に応じてコードを変更してください。
Sleep 5000
ドロップダウンのリストでそれ自体を検証するのに十分な時間をドロップダウンのテキストに与えます。
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Click_Btn()
Dim objForms As Object
Dim vTxtInput As Variant
Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.Application")
'Make sure an IE object was hooked
If TypeName(objIE) = "Nothing" Then
MsgBox "Could not hook Internet Explorer object", _
vbCritical, "GetFields() Error"
'GoTo Clean_Up
End If
objIE.Navigate "http://fly3.emirates.com/CAB/IBE/SearchAvailability.aspx"
objIE.Visible = True
Sleep 5000
Set objForms = objIE.document.all
'~~> Choose one way Flights
objIE.document.getElementById("ctl00_c_CtWNW_onewaySearch").Click
'~~> From
objIE.document.getElementById("ctl00_c_CtWNW_ddlFrom-suggest").Focus
objIE.document.getElementById("ctl00_c_CtWNW_ddlFrom-suggest").Value _
= "Mumbai (BOM)"
Sleep 5000
'~~> Departure Date
objIE.document.getElementById("ctl00_c_CtWNW_txtDepartDate").Focus
objIE.document.getElementById("ctl00_c_CtWNW_txtDepartDate").Value _
= "28 Sep 12"
Sleep 5000
'~~> To
objIE.document.getElementById("ctl00_c_CtWNW_ddlTo-suggest").Focus
objIE.document.getElementById("ctl00_c_CtWNW_ddlTo-suggest").Value _
= "Sydney (SYD)"
Sleep 5000
objIE.document.getElementById("ctl00_c_FS_FF").Focus
objIE.document.getElementById("ctl00_c_FS_FF").Click
End Sub
編集
これは、検証に使用していないため、 byWay 2
よりも高速です。これには、ドロップダウンを検証する必要はありません。それが行うことは、送信ボタンの ONCLICK イベントで実行される JavaScript をバイパスすることです。Way 1 (Above)
15 Seconds
Sleep 5000
checkValidation();
方法 2
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Click_Btn()
Dim objForms As Object
Dim vTxtInput As Variant
Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.Application")
'Make sure an IE object was hooked
If TypeName(objIE) = "Nothing" Then
MsgBox "Could not hook Internet Explorer object", _
vbCritical, "GetFields() Error"
'GoTo Clean_Up
End If
objIE.Navigate "http://fly3.emirates.com/CAB/IBE/SearchAvailability.aspx"
objIE.Visible = True
Sleep 5000
Set objForms = objIE.document.all
'Choose one way Flights
objIE.document.getElementById("ctl00_c_CtWNW_onewaySearch").Click
' From
objIE.document.getElementById("ctl00_c_CtWNW_ddlFrom-suggest").Focus
objIE.document.getElementById("ctl00_c_CtWNW_ddlFrom-suggest").Value _
= "Mumbai (BOM)"
' Departure Date
objIE.document.getElementById("ctl00_c_CtWNW_txtDepartDate").Focus
objIE.document.getElementById("ctl00_c_CtWNW_txtDepartDate").Value _
= "28 Sep 12"
' To
objIE.document.getElementById("ctl00_c_CtWNW_ddlTo-suggest").Focus
objIE.document.getElementById("ctl00_c_CtWNW_ddlTo-suggest").Value _
= "Sydney (SYD)"
objIE.document.getElementById("ctl00_c_FS_FF").Focus
objIE.document.getElementById("ctl00_c_FS_FF").onclick = _
Replace(objIE.document.getElementById("ctl00_c_FS_FF").onclick, _
"checkValidation();", "true;")
objIE.document.getElementById("ctl00_c_FS_FF").Click
End Sub