検索ボタンを押し、その後に表示されるページをクリックする方法
未読分:5件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#5 2016年5月22日(日)01時20分 From: 初心者 | 返事 削除 変更 |
アドバイスありがとうございます。まだk¥まだ未熟ですので精進します。 |
Message#4 2016年5月19日(木)18時30分 From: ジャッカル | 返事 削除 変更 |
初心者のメッセージ(#3)への返事 > ご指摘をいただいた通りにやってみたら動きました!ありがとうございました。待機させているつもりでしたができていなかったんですね。 documentオブジェクトの待機の処理部分でだめだったんじゃないかな。 http://www.vba-ie.net/ie/subroutine1.html '完全にページが表示されるまで待機する timeOut = Now + TimeSerial(0, 0, 20) Do While objIE.Busy = True Or objIE.readyState <> 4 DoEvents Sleep 1 If Now > timeOut Then objIE.Refresh timeOut = Now + TimeSerial(0, 0, 20) End If Loop timeOut = Now + TimeSerial(0, 0, 20) Do While objIE.document.ReadyState <> "complete" DoEvents Sleep 1 If Now > timeOut Then objIE.Refresh timeOut = Now + TimeSerial(0, 0, 20) End If Loop |
Message#3 2016年5月19日(木)11時11分 From: 初心者 | 返事 削除 変更 |
ご指摘をいただいた通りにやってみたら動きました!ありがとうございました。待機させているつもりでしたができていなかったんですね。 |
Message#2 2016年5月19日(木)04時27分 From: ジャッカル | 返事 削除 変更 |
たぶん、読み込みが完了しないまま次の処理にいっているんじゃないかな? クリック処理の前にとりあえず時間を空けてやってみたらうまくいった感じです。 Dim btn As HTMLInputElement Set btn = doc.getElementsByTagName("input")(0) btn.form.submit While ie.Busy = True And ie.readyState < READYSTATE_COMPLETE DoEvents Wend Application.Wait Now + TimeValue("00:00:05") Set btn = doc.getElementsByTagName("input")(0) btn.form.submit |
Message#1 2016年5月19日(木)02時25分 From: 初心者 | 返事 削除 変更 |
初めましてVBA初心者です。番号を検索し、その結果を保存するといったようなことをしたく始めたのですが、検索ボタンを押した後に表示されるページのボタンをクリクすることができません。改善方法などご教授いただけたら幸いです。以下プログラムとなります。 Public Sub IE基本_個体識別番号検索() Dim ie As New InternetExplorer ie.navigate "https://www.id.nlbc.go.jp/top.html" ie.Visible = True While ie.Busy = True And ie.readyState < READYSTATE_COMPLETE DoEvents Wend Dim doc As HTMLDocument Set doc = ie.document Dim sel As IHTMLSelectElement Dim inp As IHTMLInputElement Set objInpTxt = ie.document.getElementsByName("txtIDNO")(0) objInpTxt.Value = "1337256214" Dim btn As HTMLInputElement Set btn = doc.getElementsByTagName("input")(0) btn.form.submit While ie.Busy = True And ie.readyState < READYSTATE_COMPLETE DoEvents Wend Set btn = doc.getElementsByTagName("input")(0) btn.form.submit End Sub |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降