サイトの値を抽出 削除
Message#3 2015年10月17日(土)12時32分 From: 菊池 幸之介 |
VBAマスターのメッセージ(#2)への返事 > まず全ソース貼り付けは迷惑行為ですので、やめてください。 > こちらの掲示板はIE操作で困った時の掲示板です。 > 色々試してみてエラーが起きたなどでしたらプログラムソースから回答ができますが、単に回答を教えてほしいなどでしたら他を当たることオススメします。 > > ただ、ご質問に対して可能か不可能かについては中身はみてませんが、可能でしょう。 申し訳ありませんでした。 コードを添付致しますので助言頂けますでしょうか。 コードのMsgBox ie.document.DocumentElement.outerHTMLをどのように書き換えれば<span style="font-weight:bold;">18270</span> の18270の部分を抽出できるでしょうか。 そもそもこの書き方が間違えていますでしょうか。 こちらが作成したコードです。 よろしくお願い致します。 Sub SBIから値のみを抽出() Dim ie As Object 'SBIに接続 Set ie = CreateObject("internetExplorer.Application") ie.Visible = True ie.navigate "https://www.sbisec.co.jp/ETGate/?_ControlID=WPLETopR001Control&_PageID=DefaultPID&_DataStoreID=DSWPLETopR001Control&_ActionID=DefaultAID&getFlg=on" '10秒待ち Call WaitFor(10) 'ユーザネーム入力 ie.document.getElementById("user_id").Value = "" '1秒待ち Call WaitFor(1) 'パスワード入力 ie.document.getElementById("user_password").Value = "" '1秒待ち Call WaitFor(1) 'ログインボタンをクリック Call IEInputImageClick(ie, "btn-sub-login.gif", "INPUT") 'IEを待機 Do While ie.Busy = True Or ie.readyState < READYSTATE_COMPLETE DoEvents Loop '10秒待ち Call WaitFor(10) '先物オプション画面へ ie.navigate "https://site1.sbisec.co.jp/ETGate/?_ControlID=WPLETopR001Control&_PageID=DefaultPID&_DataStoreID=DSWPLETopR001Control&_ActionID=DefaultAID&getFlg=on" 'IEを待機 Do While ie.Busy = True Or ie.readyState < READYSTATE_COMPLETE DoEvents Loop '3秒待ち Call WaitFor(3) '先物オプションボタンをクリック Call IEInputImageClick(ie, "b_op_torihiki_140320_02.gif", "img") 'IEを待機 Do While ie.Busy = True Or ie.readyState < READYSTATE_COMPLETE DoEvents Loop '10秒待ち Call WaitFor(10) '新規注文画面へ移動 ie.navigate "https://jderivatives.sbisec.co.jp/gate/index/order/futureNewOrderMain.seam?actionMethod=index%2Fmenu%2FtradeMenu.xhtml%3AmenuAction.menuInit%28%27futureNewOrderAction%27,%27initFuture%27%29&cid=498013" '値の抽出 MsgBox ie.document.DocumentElement.outerHTML End Sub '画像ボタンをクリックする関数 Sub IEInputImageClick(ie As Object, imageSrc As String, strTag As String) For Each objInput In ie.document.getElementsByTagName(strTag) If InStr(objInput.src, imageSrc) > 0 Then objInput.Click Exit For End If Next End Sub 'IEを待機する関数 Sub IEWait(ByRef ie As Object) Do While ie.Busy = True Or ie.readyState <> 4 DoEvents Loop End Sub '指定した秒だけ停止する関数 Sub WaitFor(ByVal second As Integer) Dim futureTime As Date futureTime = DateAdd("s", second, Now) While Now < futureTime DoEvents Wend End Sub |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。