我們每個月都會通過單擊鏈接從互聯網下載超時表單。使用vba從互聯網鏈接名稱獲取URL
所以我想讓一個vba從站點中的一個鏈接名稱獲取URL。附加圖像就是例子。我想要以紅色包圍URL並粘貼到excel中(文件名otform.xlsm單元格A1)。
我們每個月都會通過單擊鏈接從互聯網下載超時表單。使用vba從互聯網鏈接名稱獲取URL
所以我想讓一個vba從站點中的一個鏈接名稱獲取URL。附加圖像就是例子。我想要以紅色包圍URL並粘貼到excel中(文件名otform.xlsm單元格A1)。
下面的代碼會給你通過谷歌的第一個搜索結果。
代碼將搜索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得到這個。
編輯#1:使用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
你必須添加以下兩個References
從Tools
菜單:
是的,我做了一個碼,然後從YouTube,但似乎不工作...請參閱以下內容。 – 200yrs