Como obter um título de página da Web no Excel

3

Estou tentando criar uma célula que atrairá um hiperlink baseado no que é preenchido em outra célula do Excel. Eu tenho a parte de hiperlink funcionando, mas gostaria de ter um rótulo melhor para o hiperlink do que o ID que está usando para obter a página da web ou o endereço da web inteiro. Eu pensei que seria mais fácil tentar e puxar o título das páginas web. Isso é possível?

Talvez para ajudar um pouco, estou usando essa função para acessar o endereço da web

=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),"")
    
por Sam 10.06.2015 / 18:04

1 resposta

2

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

Eu não entendo isso. Deixe-me tentar dividi-lo -

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

Agora vamos ver como funciona o hiperlink

Hyperlink(link location, friendly name)

Para você, isso é

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

Você está atribuindo o nome amigável para o valor da célula. Então, a menos que você tenha algo parecido -

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

A2 = Google

Isso não vai funcionar. A única coisa que você poderá fazer é usar o VBA para ir até a página e coletar informações, ou usar algo como -

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

A3 = Pesquisando no site

Para obter o título via 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

Ok, para fazer uma função retornar o hiperlink com o título, você precisará de uma função definida pelo usuário (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

Isso irá para o destino da página da Web e retornará o título. Então, agora, digamos que você tenha uma página na célula A1 - agora você precisa chamar sua função para o título -

A2 = GetTitle(A1)
A3 = Hyperlink(A1,A2)
    
por 10.06.2015 / 19:05