有时我需要获取几个(20-30)超链接文本的基础电子邮件地址(在网站上)并将它们复制到excel中。是否可以直接从网站上进行,而不是先将信息作为HTML复制到excel中,然后运行宏来从中获取。 这就是我目前使用的:
Function emailAddress(cell)
On Error Resume Next
emailAddress = Replace(cell.Hyperlinks(1).Address, "mailto:", "")
If emailAddress = 0 Then
emailAddress = ""
End Function
但我想知道是否有办法绕过这一步
答案 0 :(得分:1)
有几种方法可以完成这项任务。
第一种是将网站数据直接加载到工作簿中:
Workbooks.Open Filename:="http://yoururlhere.com/data.html"
这是最直截了当的,因为我相信您可以指定是否要将数据转到特定工作表。
另一种方法是使用Excel挂钩Internet Explorer。例如,请参阅this。这包括了解如何访问页面的不同DOM元素以获取所需信息。
您也可以在C#或VB.NET中编写数据访问权限,并使用他们的Office自动化库来控制Excel,但这样会更复杂。
答案 1 :(得分:0)
您可以在Web浏览器中使用View - Source并将原始HTML复制到Excel中。然后使用Text to Columns拆分“:”以及其他一些清理内容。我不确定能为你节省多少。