vba自动获取网页数据(提取超链接地址)

vba自动获取网页数据(提取超链接地址)(1)

假设您从同事那里获得了一个 Excel 工作簿,其中列中有一个超链接列表。现在,从此列表中,提取所有超链接URL地址。怎么做呢,常规手动处理,一个接一个地复制粘贴每个URL。一定是一件痛苦的事情。

本篇《神奇的VBA》分享2种批量提取工作表中的URL超链接信息的思路和方法。

思路1:设置自定义工作表函数。

Function ExtractURL(rng As Range) As String On Error Resume Next ExtractURL = rng.Hyperlinks(1).Address End Function

如何使用上面代码?

若要使用此 ExtractURL函数,您需要执行以下步骤:

1. 从开发人员选项卡打开VBE编辑器,或使用键盘快捷键ALT F11。

2. 插入一个新模块,将上面的代码粘贴到其中并关闭它。

3. 现在,在工作表中,输入函数[=ExtractURL(A1)]并按回车键。它将立即提取单元格中的超链接地址。

vba自动获取网页数据(提取超链接地址)(2)

上面是采用自定义函数的方式,让用户当做工作表函数来调用。

思路2: 编写选区批量提取程序。

除此之外,《神奇的VBA》分享批量将选区内的超链接放置在右边单元格中

Sub ExtractURL() For Each cell In Selection.Cells cell.Offset(0, 1) =cell.Hyperlinks(1).Address Next End Sub

上面的代码中,完全是对鼠标选取进行遍历操作,将选区内隐藏的超链接放置在右边单元格中。在未来的VBA编程中,单元格区域是不确定的,可以继续封装对上面代码进行标准化复用改造。

Sub ExtractURL(rng As Range) On Error Resume Next For Each cell In rng.Cells cell.Offset(0, 1) =cell.Hyperlinks(1).Address Next End Sub

保存好上面的代码, 未来您可以直接调用。

例如1:抽取选区超链接

Sub demo1() Call ExtractURL(Selection) End Sub

例如2:抽取指定单元格区域超链接

Sub demo2() Call ExtractURL(Range("A1:A14")) End Sub

今天的分享就到这里,本篇中介绍的思路抛砖引玉,如果您有更多更好的思路欢迎分享!

原创码字不易欢迎转发收藏分享给更多人学习

更多Excel VBA编程知识,请查阅职场高效达人必备的参考和学习工具《神奇的VBA》编程参考学习插件,内置嵌入Excel Ribbon界面,打开任意Excel工作簿就能随时查阅和学习Excel VBA编程知识的赋能工具。

vba自动获取网页数据(提取超链接地址)(3)

vba自动获取网页数据(提取超链接地址)(4)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。