2013-11-26 2 views
2

На сайте Santosh есть фантастический ответ (код vba) по следующему link, который ищет текст в Google и фиксирует первый результат URL-адреса в excel, есть ли в любом случае его можно использовать/преобразовать как UDF, при этом формула может быть =Googlefirsturl(A1) с A1 с текстом, который необходимо искать.Получите первый результат поиска в Google через UDF

Edit: столбец 2 данные (Имя) можно пренебречь

+0

просто добавьте кнопку, которая запускает суб –

+0

Косметическое изменение от Sub до Function является обманом. – brettdj

ответ

3

, если вам действительно нужно его как функцию затем

enter image description here

Option Explicit 

Function GoogleFirstUrl(search As String) As String 

    Dim i As Long 
    Dim url As String, lastRow As Long 
    Dim XMLHTTP As Object, html As Object, objResultDiv As Object, objH3 As Object, link As Object 

    lastRow = Range("A" & Rows.Count).End(xlUp).Row 

    Dim cookie As String 
    Dim result_cookie As String 

    DoEvents 
    url = "https://www.google.co.in/search?q=" & search & "&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) 

    GoogleFirstUrl = link.href 

End Function 

Примечание: вы не можете изменить другие клетки с помощью UDF, чтобы вы могли возвращать только одну вещь за раз в ячейку, которую вы использовали для ввода формулы, в. Я выбрал URL-адрес, как вы назвали свою функцию.

+1

На месте..перфект ....... na na na na na na na na ur awesome ... (песня) – Vasim

+0

@mehow, В чем причина случайного числа после поискового запроса в вашем коде? – tbur

+0

ли Google блокирует меня для автоматического использования браузера? – Qbik

Смежные вопросы