
こんにちは。
###実現したいこと
・A列にあるキーワード10000個の検索結果上位3つのURLを、それぞれB列〜D列に取得
・EncodeURLを使わずに行う(excel2010でEncodeURLを使えないため)
###該当のソースコード
Sub main() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.Application") Dim i As Long Dim l As Integer For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row objIE.navigate "https://search.yahoo.co.jp/search?p=" & Replace(Application.EncodeURL(Range("A" & i)), "%20", "+") Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE DoEvents Loop For l = 0 To 2 Range("B" & i).Offset(, l) = objIE.document.getElementById("WS2m").getElementsByClassName("w")(l).getElementsByTagName("a")(0).href Next l Next i objIE.Quit Set objIE = Nothing End Sub
難しければスプレッドシートのIMPORTXMLで対応しようかと思いますが
処理速度が遅いのでExcelでできればと思います。
よろしくお願いします。

VBAでEncodeURLを使えない、というのはどのような状態でしょうか?(VBAでない)ワークシート関数でEncodeURLがありますし、VBAからワークシート関数を呼ぶことも出来ますよ。もう少し具体的なこと(何をどうしたい、ダミーデータをシートに乗せているイメージなど)があった方が回答がもらえやすい気がします。

回答1件
あなたの回答
tips
プレビュー