VBAでIEの自動操作について
未読分:2件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#2 2014年10月7日(火)11時20分 From: 管理人 | 返事 削除 変更 |
サンプルを参考にしてください。 処理の内容としては、IEでyahooページを開いてから検索キーワード入力し検索をクリックします。 次にH3タグがタイトルタグになりますが、一番上はリスティング広告枠ですので、リスティング広告かどうかチェックするために「rd.listing.yahoo.co.jp」が含まれていないものを取得する処理にしています。 そして、その最初の処理が一番上のサイトとなりますので、innerTextプロパティでタイトル名を取得しています。 ここではデバックプリントを利用していますが、セルなどに変更してください。 化粧品も同じ処理で最後にIEを閉じて完成です。 Sub sample() Dim objIE As InternetExplorer Dim objTag As Object 'YahooをIEで開く Call ieView(objIE, "http://www.yahoo.co.jp/") '検索処理 Call formText(objIE, "p", "ダイエット") Call tagClick(objIE, "input", "検索") 'リスティング広告を除いた一番最初のサイトタイトルを取得 For Each objTag In objIE.document.getElementsByTagName("h3") If InStr(objTag.outerHTML, "rd.listing.yahoo.co.jp") = 0 Then Debug.Print objTag.innerText Exit For End If Next Call ieView(objIE, "http://www.yahoo.co.jp/") '検索処理 Call formText(objIE, "p", "化粧品") Call tagClick(objIE, "input", "検索") 'リスティング広告を除いた一番最初のサイトタイトルを取得 For Each objTag In objIE.document.getElementsByTagName("h3") If InStr(objTag.outerHTML, "rd.listing.yahoo.co.jp") = 0 Then Debug.Print objTag.innerText Exit For End If Next 'IEを閉じる objIE.Quit End Sub |
Message#1 2014年10月3日(金)14時52分 From: ckor13 | 返事 削除 変更 |
VBAでIEの自動操作に関しての質問です。 IE起動⇒ヤフーに接続⇒IEを待機⇒検索窓に「ダイエット」と入力⇒3秒停止⇒フォームを送信⇒3秒停止⇒1番TOPに表示されたタイトルを抽出⇒3秒停止⇒検索窓に「化粧品」と入力⇒3秒停止⇒フォームを送信⇒3秒停止⇒1番TOPに表示されたタイトルを抽出⇒3秒停止⇒IE終了 この作業をする場合のコードを教えて頂けないでしょうか? 何度コードを入力してもエラーが出てしまい、困り果てています。 職場で覚えないといけなくなってしまい、先月から勉強しているんですが全然分からない状態ですので、優しく教えて頂けたら嬉しいです。 初期的な質問かもしれませんが、よろしくお願いします。 |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降