vba自动获取网页数据(提取超链接地址)
假设您从同事那里获得了一个 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)]并按回车键。它将立即提取单元格中的超链接地址。
上面是采用自定义函数的方式,让用户当做工作表函数来调用。
思路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编程知识的赋能工具。
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。