将网页标题导入 Excel

将网页标题导入 Excel

我正在尝试创建一个单元格,该单元格将根据另一个 Excel 单元格中填写的内容提取超链接。我的超链接部分可以正常工作,但我希望为超链接设置一个比用于获取网页或整个网址的 ID 更好的标签。我认为尝试提取网页标题是最简单的方法。这可能吗?

也许能帮上一点忙,我目前正在使用这个函数来提取网址

=IF(LEN(Excel Cell Value)>0,HYPERLINK(CONCATENATE("First part of the web address",(Excel Cell Value),"Second part of the web address"),Excel Cell Value),"")

答案1

=IF(LEN(Excel Cell Value)>0,HYPERLINK(CONCATENATE("First part of the web address",(Excel Cell Value),"Second part of the web address"),Excel Cell Value),"")

我不明白这一点。让我试着解释一下——

If(Len(cell value)>0) - if the cell isn't empty, do TRUE
TRUE - Hyperlink(Concatenate(first, (cell value), second), (cell value)
FALSE - ""

现在让我们看看超链接是如何工作的

Hyperlink(link location, friendly name)

对于你来说这是

link location = concatenate(first, value, second)
friendly name = value

您正在将友好名称指定为单元格值。因此,除非您有类似以下内容的内容 -

A1 = Google
A2 = Hyperlink(Concatenate("https://www.",A1,".com",A1))

A2 =谷歌

这行不通。你唯一能做的就是使用 VBA 进入页面并收集信息,或者使用类似 -

A1 = Google
A2 = Searching Website
A3 = Hyperlink(Concatenate("https://www.",A1,".com",A2))

A3 =搜索网站


通过 VBA 获取标题 -

Sub gettitle()
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.navigate "http://superuser.com/"
While ie.busy
 DoEvents
Wend

Dim title As String
title = ie.document.title

MsgBox (title)
End Sub

好的,要使函数返回带有标题的超链接,您需要一个用户定义函数 (UDF) -

Function GetTitle(site As Range) As String
Dim title As String
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.navigate site

While ie.busy
 DoEvents
Wend
title = ie.document.title
ie.Quit
GetTitle = title
End Function

这将转到网页目标并返回标题。现在,假设您在单元格中有一个网页A1- 现在您需要调用标题函数 -

A2 = GetTitle(A1)
A3 = Hyperlink(A1,A2)

相关内容