웹 페이지 제목을 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),"")


답변

=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)