サイトによって、Navigateが、連続してできない 削除
Message#12 2015年4月20日(月)08時20分 From: 名無し |
ジャッカルのメッセージ(#11)への返事 > 部分的にどこが悪いといわれても分かりづらいので実装しているコードを公開したらどうですか? > > こちらで確認しようがない。。。 そうですね、今試しているコードは以下のようになります。 Microsoft Internet Controls Microsoft HTML Object Library は参照設定しています。なので、CreateObjectは要りません。 (CreateObjectをやっても同じでした) F8(ステップ実行)では走ります。 F5(実行)では、1回目は動きますが、2回目でダメになります。 ---以下、メインプロシージャ Sub PER_Jg() 'Yahooファイナンスサイトを開いておく Dim ieObj As InternetExplorer Const DH As String = "A4" '銘柄コード先頭 Const YFUrl As String = "http://finance.yahoo.co.jp/" 'YahooファイナンスURL Set ieObj = New InternetExplorer 'Yahooファイナンスサイトの表示 Call ieView(ieObj, YFUrl) Dim dr As Range '銘柄コード Set dr = Range(DH) Do Until dr.Value = "" 'キーワードを入力してSerchボタンを押す、という処理にした場合 With ieObj.document 'キーワードを入力する .getElementsByName("query")(0).Value = dr.Value 'Serchボタンをクリックする .forms(1).submit End With Call ieCheck(ieObj) '検索結果からデータを取得(未作成) Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 5) Set dr = dr.Offset(1) Loop '終了処理 ieObj.Quit 'Webを閉じる Set ieObj = Nothing End Sub ---以下サブプロシージャ3本 Sub ieView(objIE As InternetExplorer, _ urlName As String, _ Optional viewFlg As Boolean = True) 'IE(InternetExplorer)を表示・非表示 objIE.Visible = viewFlg '指定したURLのページを表示する objIE.navigate urlName 'IE(InternetExplorer)が完全表示されるまで待機 Call ieCheck(objIE) End Sub Sub ieNavi(objIE As InternetExplorer, _ urlName As String) '指定したURLをIE(InternetExplorer)で表示 objIE.navigate urlName 'IE(InternetExplorer)が完全表示されるまで待機 Call ieCheck(objIE) End Sub Sub ieCheck(objIE As InternetExplorer) Const toc = 20 'ループ監視時間 Const slt = 1 'スリープタイム(ms) Dim timeOut As Date With objIE '完全にページが表示されるまで待機する timeOut = Now + TimeSerial(0, 0, toc) Do While .Busy = True Or .readyState <> 4 DoEvents Sleep slt If Now > timeOut Then .Refresh timeOut = Now + TimeSerial(0, 0, toc) End If Loop '完全にページが読み込まれるまで待機する timeOut = Now + TimeSerial(0, 0, toc) Do While .document.readyState <> "complete" DoEvents Sleep slt If Now > timeOut Then .Refresh timeOut = Now + TimeSerial(0, 0, toc) End If Loop End With End Sub 以上です。 動作環境は Win7 Excel2010 IE バージョン11 です。 よろしくお願いします。 |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。