VBA – Hiperlinks
In this Article
- Hiperlinks do VBA
- Adicionar um Hiperlink com o VBA
- Adição de Texto para Exibição com o VBA
- Adição de um Dica de Tela (ScreenTip) com VBA
- Excluir um Hiperlink com o VBA
- Excluir Todos os Hiperlinks em uma Planilha
- Seguir um Hiperlink de Site Usando VBA
- Seguir um Hiperlink Para uma Pasta em Seu Disco Rígido
- Seguir um Hiperlink Para um Arquivo em Sua Unidade de Disco
- Ir para uma Célula em Outra Planilha na Mesma Pasta de Trabalho
- Exibir Todos os Hiperlinks em uma Planilha
- Exibir Todos os Hiperlinks em uma Pasta de Trabalho
- Uso do Método FollowHyperlink para Criar E-mails
- Adição de um Hiperlink a uma AutoForma no Excel
- Inserção da Fórmula de Hiperlink em Uma Célula usando VBA
- Como Adicionar um Hiperlink a um Botão no Access
- Criação de um Hiperlink a Partir de uma Seleção no Word
Este tutorial do VBA aborda as diferentes maneiras de trabalhar com hiperlinks no VBA.
Hiperlinks do VBA
Com o VBA, você pode adicionar hiperlinks, remover hiperlinks, criar e-mails usando hiperlinks e abrir arquivos usando hiperlinks no VBA.
Adicionar um Hiperlink com o VBA
O método Hyperlinks.Add adiciona um hiperlink a uma célula usando o VBA.
O código a seguir adicionará um hiperlink à célula A1:
Sub AdicionarHiperlinkACelula()
ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/"
End Sub
O resultado é:
Adição de Texto para Exibição com o VBA
Você pode adicionar um texto simples e fácil de usar para exibir no hiperlink com o VBA. Se você usasse a funcionalidade de planilha, inseriria um hiperlink e, em seguida, adicionaria um texto a ser exibido na caixa de diálogo fornecida.
O código abaixo demonstra como adicionar texto para exibição ao hiperlink usando o VBA:
Sub TextoParaExibicaoDoHipelink()
ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/", TextToDisplay:="Automate Excel"
End Sub
O resultado é:
Adição de um Dica de Tela (ScreenTip) com VBA
Você pode adicionar uma Dica de Tela (ScreenTip) ao seu hiperlink que o visualizador verá quando passar o mouse sobre o link.
O código abaixo mostra como adicionar uma ScreenTip ao hiperlink usando o VBA:
Sub HiperlinkComDicaDeTela()
ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/", TextToDisplay:="Automate Excel", ScreenTip:="Este é um link para Automate Excel"
End Sub
O resultado é o seguinte:
Excluir um Hiperlink com o VBA
O método Hyperlinks.Delete pode ser usado para excluir um hiperlink de uma célula.
O código a seguir excluirá o hiperlink da célula A1 e o texto na célula.
Observe que apenas a exclusão do hiperlink não exclui o texto em si; por isso, se você quiser excluir o texto, também deverá usar o método Clear.
Sub ApagarHiperlinkDaCelula()
Range("A1").Hyperlinks.Delete
Range("A1").Clear
End Sub
Excluir Todos os Hiperlinks em uma Planilha
Você também pode excluir todos os hiperlinks da planilha usando o método Hyperlinks.Delete.
O código a seguir excluirá todos os hiperlinks da primeira planilha de sua pasta de trabalho:
Sub RemoverTodosHiperlinksDaPlanilha()
ThisWorkbook.Sheets(1).Hyperlinks.Delete
End Sub
Seguir um Hiperlink de Site Usando VBA
O código a seguir permite abrir o endereço de um site em uma nova janela do navegador usando o método FollowHyperlink na pasta de trabalho:
Sub SeguirHiperlinkParaWebsite()
ActiveWorkbook.FollowHyperlink Address:="https://www.automateexcel.com/excel", NewWindow:=True
End Sub
Seguir um Hiperlink Para uma Pasta em Seu Disco Rígido
O código a seguir abrirá uma pasta chamada ArquivosExcel na área de trabalho usando o método FollowHyperlink:
Sub SeguirHiperlinkParaPastaNoDisco()
ActiveWorkbook.FollowHyperlink Address:="C:\Desktop\ArquivosExcel"
End Sub
Seguir um Hiperlink Para um Arquivo em Sua Unidade de Disco
O código a seguir abrirá um arquivo do Excel chamado Arquivo1 na pasta chamada ArquivosExcel na área de trabalho usando o método FollowHyperlink:
Sub SeguirHiperlinkParaArquivo()
ActiveWorkbook.FollowHyperlink Address:="C:\Desktop\ArquivosExcel\Arquivo1.xlsx", NewWindow:=True
End Sub
Ir para uma Célula em Outra Planilha na Mesma Pasta de Trabalho
Você pode adicionar um hiperlink a uma célula em uma planilha que o leve a outra planilha, na mesma pasta de trabalho, com o VBA. Digamos que você esteja na Planilha 1, célula A1, da pasta de trabalho e queira inserir um hiperlink para a Planilha 2, célula B2, da mesma pasta de trabalho.
O código a seguir demonstra como fazer isso:
Sub IrParaCelulaOutraPlanilhaMesmaPasta()
ActiveSheet.Hyperlinks.Add Range("A1"), Address:="", SubAddress:="'" & Planilha2.Name & "'!B2", TextToDisplay:="Clique aqui para ir para a Planilha2, célula B2 da mesma pasta de trabalho"
End Sub
Exibir Todos os Hiperlinks em uma Planilha
Você pode acessar a coleção de hiperlinks e exibir todos os hiperlinks em sua planilha na Janela Verificação Imediata no Editor VBA. Primeiro, pressione CTRL+G no teclado ou vá para Exibir>Janela ‘Verificação Imediata’ no VBE Editor para exibir a janela de verificação.
O código a seguir mostra como visualizar os hiperlinks em sua planilha na janela de verificação:
Sub MostrarTodosHiperlinksNaPlanilha()
Dim ws As Worksheet
Dim lnk as Hyperlink
Set ws = ThisWorkbook.Sheets(1)
For Each lnk In ws.Hyperlinks
Debug.Print lnk.Address
Next lnk
End Sub
Os resultados são mostrados na janela de verificação.
Exibir Todos os Hiperlinks em uma Pasta de Trabalho
Você pode acessar a coleção de hiperlinks para percorrer e exibir todos os hiperlinks da pasta de trabalho em uma caixa de mensagem.
O código a seguir mostra como fazer isso e usa um loop aninhado para conseguir isso:
Sub MostrarTodosHiperlinksNoArquivo()
Dim ws As Worksheet
Dim lnk as Hyperlink
For Each ws In ActiveWorkbook.Worksheets
For Each lnk In ws.Hyperlinks
MsgBox lnk.Address
Next lnk
Next ws
End Sub
Uso do Método FollowHyperlink para Criar E-mails
Você também pode criar e-mails usando o método FollowHyperlink.
O código abaixo mostrará como criar e-mails usando o método FollowHyperlink no VBA:
Sub MandarEmailUsandoHiperlink()
Dim msgLink As String
msgLink = "mailto:" & "person@email.com" & "?" & "subject=" & "Olá" & "&" & "body=" & "Como vai você?"
ActiveWorkbook.FollowHyperlink (msgLink)
End Sub
O resultado é:
Adição de um Hiperlink a uma AutoForma no Excel
Você pode adicionar um hiperlink a uma AutoForma no Excel para que, quando o usuário clicar na forma, ele seja levado a um endereço de site.
O código a seguir cria um retângulo arredondado, adiciona o texto ao retângulo e adiciona um hiperlink ao retângulo:
Sub AdicionarHiperlinkEmAutoForma()
Dim MinhaForma As Shape
Dim MeuDocumento as Worksheet
Set MeuDocumento = Worksheets("Planilha1")
Set MinhaForma = MeuDocumento.Shapes.AddShape(msoShapeRoundedRectangle, 100, 100, 90, 30)
With MinhaForma
.TextFrame.Characters.Text = "Automate Excel"
End With
ActiveSheet.Hyperlinks.Add Anchor:=MinhaForma, Address:="https://www.automateexcel.com/excel"
End Sub
O resultado é:
Inserção da Fórmula de Hiperlink em Uma Célula usando VBA
Digamos que você tenha um título de postagem na célula A4 e um link de postagem na célula B4, conforme mostrado na imagem abaixo.
Um lembrete rápido da sintaxe da fórmula de hiperlink da planilha é
HIPERLINK(local-vínculo, [nome_amigável])
local-vínculo – Este é o link para o documento, arquivo, local na pasta de trabalho ou site on-line.
nome_amigável –(Opcional) – O texto ou valor numérico que é exibido na célula.
Na célula C4, você deseja adicionar o hiperlink com um texto amigável a ser exibido. Normalmente, você digitaria a fórmula =HIPERLINK(B4,A4) na C4 para obter o seguinte:
Em vez disso, você poderia usar o VBA para obter o mesmo resultado e inserir essa fórmula na célula, na Planilha1, com o seguinte código:
Sub InserirHiperlinkFormulaNaCelula()
ActiveWorkbook.Worksheets("Planilha1").Range("C4").Formula = "=hyperlink(B4,A4)"
End Sub
Como Adicionar um Hiperlink a um Botão no Access
O VBA também permite que você trabalhe com hiperlinks no Access. Digamos que tenhamos um botão em um formulário e, quando o usuário clicar nesse botão, queremos que ele seja levado a um site. Uma maneira de fazer isso é por meio do método Application.FollowHyperlink.
Temos nosso formulário de amostra com um botão chamado BotaoUm mostrado abaixo.
O código para esse botão seria:
Private Sub BotaoUm_Click()
Application.FollowHyperlink ("https://www.automateexcel.com/excel/")
End Sub
Criação de um Hiperlink a Partir de uma Seleção no Word
Você também pode trabalhar com hiperlinks no Word VBA.
Digamos que tenhamos um texto no Word que diz “Clique aqui para ser levado ao site do Automate Excel”, que está selecionado conforme mostrado abaixo.
Para transformar esse texto em um hiperlink usando o VBA, você pode usar o seguinte código:
Private Sub TransformarSelecaoEmHiperlink()
ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="https://www.automateexcel.com/excel/", ScreenTip:="Clique aqui por favor", Target:=NewWindow
End Sub
O resultado é: