毎月、私たちはインターネットから時間切れのフォームをリンクをクリックしてダウンロードしました。vbaを使用してインターネットリンク名からURLを取得
だから私はサイト内のリンク名からURLを取得するためにvbaを作りたいと思います。添付画像が例です。私は、赤で丸で囲まれたURLを取得してExcel(filename otform.xlsm cell A1)に貼り付けたいと思います。コードの下
毎月、私たちはインターネットから時間切れのフォームをリンクをクリックしてダウンロードしました。vbaを使用してインターネットリンク名からURLを取得
だから私はサイト内のリンク名からURLを取得するためにvbaを作りたいと思います。添付画像が例です。私は、赤で丸で囲まれたURLを取得してExcel(filename otform.xlsm cell A1)に貼り付けたいと思います。コードの下
あなたのGoogleによる最初の検索結果が得られます。
コードはCell A1
の値を検索し、検索結果をCell B1
に入力します。
Sub GetURL()
Dim url As String
Dim XMLHTTP As Object, html As Object, objResultDiv As Object, objH3 As Object, link As Object
url = "https://www.google.co.in/search?q=" & Range("A1").Value & "&rnd=" & WorksheetFunction.RandBetween(1, 10000)
Set XMLHTTP = CreateObject("MSXML2.serverXMLHTTP")
XMLHTTP.Open "GET", url, False
XMLHTTP.setRequestHeader "Content-Type", "text/xml"
XMLHTTP.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:25.0) Gecko/20100101 Firefox/25.0"
XMLHTTP.send
Set html = CreateObject("htmlfile")
html.body.innerHTML = XMLHTTP.ResponseText
Set objResultDiv = html.getelementbyid("rso")
Set objH3 = objResultDiv.getelementsbytagname("H3")(0)
Set link = objH3.getelementsbytagname("a")(0)
Range("B1").Value = link.href
DoEvents
MsgBox "Done"
End Sub
私はこれが何をしたいですね。
これはhereから取得しました。
EDIT#1:あなたはTools
メニューから2 References
を以下を追加する必要がありますInternet Explorerの ________________________________________________________________________________
Sub GetURL()
Dim ie As SHDocVw.InternetExplorer 'Requires reference to "Microsoft Internet Controls"
Dim searchString As String
Dim lngStartAt As Long, lngResults As Long
Dim doc As MSHTML.HTMLDocument 'Requires reference to "Microsoft HTML Object Library"
Dim objResultDiv As Object, objH3 As Object, link As Object
Set ie = New SHDocVw.InternetExplorer
lngStartAt = 1
lngResults = 100
searchString = Range("A1").Value
ie.navigate "https://www.google.co.in/search?q=" & searchString
Do Until ie.readyState = READYSTATE_COMPLETE: DoEvents: Loop
Set doc = ie.document
Set objResultDiv = doc.getElementById("rso")
Set objH3 = objResultDiv.getElementsByTagName("H3")(0)
Set link = objH3.getElementsByTagName("a")(0)
Range("B1") = link.href
ie.Quit
End Sub
を使用する:
こんにちはMrig ...タイムアウトエラーが発生しました...デバッグをクリックすると、> XMLHTTP.Send ...を参照します。ところで、私たちはインターネットエクスプローラを使用しています....ありがとう – 200yrs
@ 200yrs - これはおそらくあなたのインターネットの速度のためです。 – Mrig
@Mrig ...私たちのインターネットは高速です...オハイオ州私は下に参照してくださいコードが見つかりました...しかし、私はすべてのURLを取得したくありません。私はリンク名が「Excel VBAで始める - 私のプログラマー」「コード」 – 200yrs
はい、私は、コードを作っユーチューブから続くが、それはまったく機能していないようです...以下を参照してください。 – 200yrs