ExelVBAで JRAのホームページの”レース結果”(ボタン?埋め込み?)
未読分:2件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#2 2014年12月7日(日)11時16分 From: VBAマン | 返事 削除 変更 |
IELinkClick内で For Each objLink In objIE.document.getElementsByTagName("a") If objLink.innerText = anchorText Then objLink.Click Exit For end if Next とするとか。 |
Message#1 2014年12月7日(日)08時08分 From: 競馬マン | 返事 削除 変更 |
ExelVBAで JRAのホームページの”レース結果”(ボタン?埋め込み? ) をclickしたいのですが。スクリプトは次の通りです 元はhttp://vba-code.net殿の無断コピペ改造です。 33行目をJRAのアドレス(元はyahooの) 42行目を、”ヤオフク”−−>”レース結果”にして 動かそうしたんですが飛んでくれません。 でFor Each NEXTを抜け出すまでの回数(XXXXXX)を カウントして objtag(XXXXXX - 1).Click '<−−これがダさい。 でなんとか動いているんですが indexでなく、文字列そのもので飛ばす方法を ご教授ください。 Option Explicit 'ヤフオクに移動する Sub GoToYahooAuction() Dim objIE As Object 'IE起動 Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True 'Yahooに接続 objIE.navigate "http://www.jra.go.jp/" 'IEを待機 Call IEWait(objIE) '5秒停止 Call WaitFor(5) '「ヤフオク!」のリンクをクリック Call IELinkClick(objIE, "レース結果") 'IEを待機 Call IEWait(objIE) '5秒停止 Call WaitFor(5) 'IE終了 objIE.Quit Set objIE = Nothing End Sub 'リンクをクリックする関数 Function IELinkClick(ByRef objIE As Object, ByVal anchorText As String) Dim objLink As Object Dim objtag As Object Dim XXXXXX As Integer XXXXXX = 0 For Each objLink In objIE.document.getElementsByTagName("a") XXXXXX = XXXXXX + 1 If objLink.innerText = anchorText Then objIE.navigate objLink.href '<<ーー飛ばない Exit For End If Debug.Print objLink.innerText Next 'ここから Set objtag = objIE.document.getElementsByTagName("A") IEWait objIE objtag(XXXXXX - 1).Click '<−−これがダさい。 '迄がダさい。 End Function 'IEを待機する関数 Function IEWait(ByRef objIE As Object) Do While objIE.Busy = True Or objIE.readyState <> 4 DoEvents Loop End Function '指定した秒だけ停止する関数 Function WaitFor(ByVal second As Integer) Dim futureTime As Date futureTime = DateAdd("s", second, Now) While Now < futureTime DoEvents Wend End Functi お礼が少なくて申し訳ありません(再質問がありますので、、、) JRAのホーム改変が激しくあまりindexで処理したくないものでして。 競馬の成績、最終オッズ収集用です。 ページよってはボタン類で有ったりなかったり、 例えば9頭未満だと”枠連”がなかったりで indexが変わったり、同時開催数だの、、、、 で、あまり数値を使いたくないのです。 WIN5対象だと以後indexが繰り下がるとか |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降