解決済

clip!clip!
Ads By Google

VBScriptでフォームに値を入れることを繰り返したいのですがどうもうまくいかずに悩んでいます。いい方法を教えて下さい。

指定ページを開いた後に
If objIE.Document.URL = strURL Then
Set objIN = objIE.Document.getElementByTagName("INPUT")
objIN(0).value = ID
objIN(1).value = PASSWORD
objIN(2).Click
Do Until objIE.Busy = False
WScript.sleep(250)
Loop
If objIE.Document.URL <> strAfterLoginPage Then
objIN(0).value = ID
objIN(1).value = PASSWORD
objIN(2).Click
Do Until objIE.Busy = False
WScript.sleep(250)
Loop
ElseIf objIE.Document.URL <> strAfterLoginPage Then
objIN(0).value = ID
objIN(1).value = PASSWORD
objIN(2).Click
Do Until objIE.Busy = False
WScript.sleep(250)
Loop
ElseIf objIE.Document.URL <> strAfterLoginPage Then
objIN(0).value = ID
objIN(1).value = PASSWORD
objIN(2).Click
Do Until objIE.Busy = False
WScript.sleep(250)
Loop
ElseIf objIE.Document.URL <> strAfterLoginPage Then
objIN(0).value = ID
objIN(1).value = PASSWORD
objIN(2).Click
Do Until objIE.Busy = False
WScript.sleep(250)
Loop
Else objIE.Document.URL <> strAfterLoginPage Then
objIN(0).value = ID
objIN(1).value = PASSWORD
objIN(2).Click
Do Until objIE.Busy = False
WScript.sleep(250)
Loop
End If
以下省略
といったように1回でログインできなかった場合何度か入力するプログラムなのですが最初のElseIfの後のところで「オブジェクトがありません」となってしまいます。
ページも遷移してないのですが何故かオブジェクトがなくなってしまいます。
そういった対策をすればよいのでしょうか?
お願いします。

2008-12-07 02:14の質問
この質問と回答を読んで役に立った場合は「役に立つ質問」に投票してください。投票が多い質問は、役に立つ質問一覧に掲載され、より多くの人に見てもらうことができます。

回答(1)

1.

2008-12-07 04:31:06ベスト
遷移に失敗していたとして既に新しいページになっているので、
objIN が既に無効になっているのではないかと思います。
もう一度、
Set objIN = objIE.Document.getElementByTagName("INPUT")
を実行する必要があると思います。

ElseIf でやらなくても、for で5回まわせばいいのでは?
自信度 : 自信なし 回答レベル : アドバイス

できました!有難うございました

Ads By Google

コメント

まだコメントがありません

トラックバック(2)

トラックバックURL: