EXCEL VBAでYahoo検索結果からリンクの抽出をしたいです。 削除
Message#6 2015年3月9日(月)16時47分 From: hana |
失礼しました。 ソースコードは管理人さんと全く同じコードを使用しています。 試しに友人のWin7(32bit)+EXCEL2010+IEの環境で動かしてみたところ 問題なく動作しました。 先ほど、管理人さんから提供いただいたコードを起動してみたところ int2 = InStr(int1, objTag.outerHTML, "<b>") のところで プロシージャの呼び出し、または引数が不正ですというエラーで 処理がとまってしまいました。 objTag.outerHTMLの内容を見てみると 中身は検索後の検索結果ページのものではなく、検索結果遷移前の Yahooのトップページのh3タグの内容を参照していました。 Call ieNavi(objIE, "http://www.yahoo.co.jp") Call formText(objIE, "p", Cells(i, 1)) Call tagClick(objIE, "input", "検索") の処理の間にsleep関数を入れ処理の間を空けてみても 同じように遷移前のYahooトップページの内容になってしまいます。 また、シンプルに下記コードで実行した場合、 実行時エラー '-2147467259(80004005)' オートメーションエラーです。 エラーを特定できません が出力され ieCheckのobjIE.Refreshで エラーとなり処理が止まってしまいます。 なぜだかわかりませんがこのオートメーションエラーについては ieNaviの処理のobjIE.Navigate urlNameの上下に objIE.Visible = FalseとobjIE.Visible = Trueを挟むことで エラーはおきなくなりました。 やはり環境によるものなのでしょうか。 当方、win8.1+ofice2013+IE11の環境しかないためなんとか 実現したいのですが、何か回避策等ございますでしょうか ご教授よろしくお願いいたします。 --------------------------------------------- Sub sample() Dim objIE As InternetExplorer Sheets("Sheet1").Select Call ieView(objIE, "http://www.yahoo.co.jp") x = 1 For i = 1 To 30 Call ieNavi(objIE, "http://www.yahoo.co.jp") Call formText(objIE, "p", Cells(i, 1)) Call tagClick(objIE, "input", "検索") Next i objIE.Quit End Sub |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。