如何在Excel +中获取实际的Google搜索URL如何从单元格中提取网站地址

时间:2018-04-09 14:44:19

标签: excel excel-vba excel-formula vba

我陷入了目前的困境。我有几百个商业名称,我必须搜索网站地址。

问题1:

我目前拥有的是Excel中的Google搜索链接,其中包含=超链接(等等),以及商家名称和地址。

例如:http://www.google.com/search?hl=en&q=Airbus+12th街道12 +纽约+& btnG = Google +搜索“

但我真正需要的是互联网浏览器中的网址,当我点击excel超链接时我会得到这个网址:

如果我点击上面的链接,这是我需要的实际链接:https://www.google.nl/search?hl=en&q=Airbus+12th+street+%C2%A012%C2%A0+New+York+&btnG=Google+Search&gws_rd=cr&dcr=0&ei=o3nLWqbjN87PwAKY54_oCg

我的问题是,是否可以自动执行此操作并获取excel中的实际链接?

问题2: 在excel中,我有一个充满数据的整个单元格。在这个数据中,有1个网址。例如,单元格包含:''ujeri sfifs93 sfisdsu fiweu2 732732 fjsdfue http:www.iwantthislink.comm sdfsdf shsdf sju32u3un''

可以从http://www开始自动从该单元格中提取单词。 ?为我想要的每个细胞做这个吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

第一个问题的示例。您可以通过导航到工作簿中的URL,等待重定向然后返回重定向的URL来实现此目的

Public Sub GetRedirectedLink()
    Dim IE As Object
    Dim InitialUrl As String, RedirectUrl As String

    Set IE = CreateObject("InternetExplorer.Application")

    InitialUrl = "http://www.google.com/search?hl=en&q=Airbus+12th%20street%2012+New%20York+&btnG=Google+Search"

    With IE
        .Visible = False
        ' Navigate to url
        .navigate InitialUrl

        ' Wait while page loads
        Do While .Busy
            Application.Wait DateAdd("s", 1, Now)
        Loop

        ' return Redirected URL
        RedirectUrl = .LocationURL
    End With

    MsgBox RedirectUrl
End Sub

对于第二个问题,您可以使用正则表达式返回域名(如果这是您想要的部分)