動的html?の値取得について 削除
Message#2 2019年3月2日(土)04時46分 From: vbavba |
Loop Until じゃなくてfor earch でまわしたほうがいいんじゃない? > 下記のようなコードを作成したのですが・・・(パクリばかりですが) > getElementsByClassName("state2")(0)で値取得を試みているのですが > うまく取得できず、LOOP処理が抜けられないことがあります。 > ※値取得出来る場合と出来ない場合があります。 > 出来ない場合はLOOPから抜けられません。 > どうにかして、安定してgetElementsByClassName("state2")(0)の値を取得したいのですが、うまくいきません。 > 何か良い方法がございましたら、ご教示頂けませんでしょうか。 > 本当に困っているので宜しくお願いします。 > ※ちなみにIEのバージョンは11です。 > > Dim st As String > Dim objIE As Object > > Set objIE = CreateObject("InternetExplorer.application") > > objIE.Visible = True > > objIE.Navigate "http://k2k.sagawa-exp.co.jp/p/sagawa/web/okurijoinput.jsp" > > Do While objIE.Busy = True Or objIE.readyState <> 4 > DoEvents > Loop > > > objIE.document.forms(0).Item("main:no1").Value = Cells(1, 1) > > objIE.document.forms(0).Item("main:toiStart").Click > > > Do While objIE.Busy = True Or objIE.readyState <> 4 > DoEvents > Loop > > > Do > DoEvents > Loop Until (TypeName(objIE.document.getElementsByClassName("state2")(0)) <> "Nothing") > > > st = objIE.document.getElementsByClassName("state2")(0).innerText > > MsgBox st > > objIE.Quit > Set objIE = Nothing > > MsgBox "完了" |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。