vba - 将浏览器中的 URL 复制到 Excel 中

标签 vba excel url

我的公司使用短网址进行营销事件,这些事件会重定向到带有跟踪功能的网址。例如:

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/

相关文章:

url - <video src=blob :url>? 中的 blob 是什么

ios - 通过简单的 URL Scheme 问题在 native Facebook IOS App 中打开 Facebook 页面

vba - 等到用户停止在 ComboBox 中键入即可运行宏 (VBA)

excel - 我的 VBA Excel 宏中的防病毒误报

excel - 如何在Excel中的数组公式中进行逐行求和?

php - PHP 中 Javascript 的 "unescape"

vba - 在保留自动筛选设置的同时清除单元格?

javascript - Excel VBA(通过 JavaScript)- 将工作表移动到新位置

excel - 从 Excel 调用 Access VBA 函数

sql - WHERE(一组条件)OR(一组第二个条件)OR ...优雅地写