我的公司使用短网址进行营销事件,这些事件会重定向到带有跟踪功能的网址。例如:
example.com/campaign
将重定向到:
example.com/utm_source=one&utm_medium=two&utm_term=three&utm_content=four&utm_campaign=five
我有一个包含短网址列表的 Excel 文件,但未列出跟踪网址。当前流程是手动打开每个链接并复制 URL。
有没有办法使用 VBA 将跟踪 URL 复制到 Excel 中?
到目前为止,我已经探索了以下内容:
Dim ie As Object
Set ie = CreateObject("Internetexplorer.Application")
ie.Navigate Cells(1, 1)
但我找不到将新 URL 复制回 Excel 的方法。
我也尝试过:
Dim link As Hyperlink
Cells(1, 1).Select
Set link = ActiveSheet.Hyperlinks.Add(Anchor:=Cells(1, 1), Address:=Cells(1, 1))
link.Follow
Cells(1, 2) = link.Address
然而,这只是(毫不奇怪)带回原始的超链接。
如何取回跟踪网址?理想情况下无需安装任何其他软件(因为我公司的 IT 部门是一场噩梦),但如果这是唯一的选择,那就这样吧。
最佳答案
我相信这会做你想要的:
Set webClient = CreateObject("WinHttp.WinHttpRequest.5.1")
webClient.Option(6) = False
webClient.Open "GET", Cells(1, 1), False
webClient.send ("")
Cells(1, 2) = webClient.GetResponseHeader("Location")
我从这个other answer得到了这个想法.
您想要做的是获取您要重定向到的位置。
重定向遵循描述的标准流程 here ...我只是从响应中获取适当的 header 。
关于vba - 将浏览器中的 URL 复制到 Excel 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35455884/