Outlook: Como extrair todos os URLs de um e-mail
Se um e-mail contiver centenas de URLs que precisam de ser extraídos para um ficheiro de texto, copiá-los e colá-los um a um será uma tarefa extremamente tediosa. Este tutorial apresenta macros VBA que lhe permitem extrair rapidamente todos os URLs de um e-mail.
Macro VBA para extrair URLs de um e-mail para um Arquivo de Texto
Macro VBA para extrair URLs de vários e-mails para um ficheiro do Excel
- Potencie a sua produtividade por e-mail com tecnologia de IA, respondendo rapidamente a e-mails, redigindo novos, traduzindo mensagens e muito mais — tudo com maior eficiência.
- Automatize o envio de e-mails com CC/BCC automático, Encaminhamento automático e regras; envie uma Resposta automática (Ausente) sem precisar de um servidor Exchange...
- Receba lembretes como Solicitar ao responder a um email em CCO comigo ao responder a todos quando está na lista BCC e Lembrete para Anexos em Falta para anexos esquecidos...
- Melhore a eficiência dos seus e-mails com Responder com anexos (todos), Saudação Automática ou Data e Hora na Assinatura ou Assunto, Responder a Vários E-mails…
- Simplifique o envio de e-mails com Recallar Email, Ferramentas de Anexo (Comprimir Tudo, Guardar Tudo automaticamente...), Remover duplicatas e Relatório Rápido...
Macro VBA para extrair URLs de um e-mail para um Arquivo de Texto
1. Selecione um e-mail do qual pretende extrair os URLs e prima as teclas Alt+F11 para abrir a janela do Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo para criar um novo módulo em branco e, de seguida, copie e cole o código seguinte no módulo.
Macro VBA: extraia todos os URLs de um e-mail para um arquivo de texto.
Sub ExportUrlToTextFileFromEmail()
'UpdatebyExtendoffice20220413
Dim xMail As Outlook.MailItem
Dim xRegExp As RegExp
Dim xMatchCollection As MatchCollection
Dim xMatch As Match
Dim xUrl As String, xSubject As String, xFileName As String
Dim xFs As FileSystemObject
Dim xTextFile As Object
Dim i As Integer
Dim InvalidArr
On Error Resume Next
If Application.ActiveWindow.Class = olInspector Then
Set xMail = ActiveInspector.CurrentItem
ElseIf Application.ActiveWindow.Class = olExplorer Then
Set xMail = ActiveExplorer.Selection.Item(1)
End If
Set xRegExp = New RegExp
With xRegExp
.Pattern = "(https?[:]//([0-9a-z=\?:/\.&-^!#$;_])*)"
.Global = True
.IgnoreCase = True
End With
If xRegExp.test(xMail.Body) Then
InvalidArr = Array("/", "\", "*", ":", Chr(34), "?", "<", ">", "|")
xSubject = xMail.Subject
For i = 0 To UBound(InvalidArr)
xSubject = VBA.Replace(xSubject, InvalidArr(i), "")
Next i
xFileName = "C:\Users\Public\Downloads\" & xSubject & ".txt"
Set xFs = CreateObject("Scripting.FileSystemObject")
Set xTextFile = xFs.CreateTextFile(xFileName, True)
xTextFile.WriteLine ("Export URLs:" & vbCrLf)
Set xMatchCollection = xRegExp.Execute(xMail.Body)
i = 0
For Each xMatch In xMatchCollection
xUrl = xMatch.SubMatches(0)
i = i + 1
xTextFile.WriteLine (i & ". " & xUrl & vbCrLf)
Next
xTextFile.Close
Set xTextFile = Nothing
Set xMatchCollection = Nothing
Set xFs = Nothing
Set xFolderItem = CreateObject("Shell.Application").NameSpace(0).ParseName(xFileName)
xFolderItem.InvokeVerbEx ("open")
Set xFolderItem = Nothing
End If
Set xRegExp = Nothing
End Sub
Este código cria um novo arquivo de texto com o nome do assunto do e-mail e guarda-o no caminho: C:\Users\Public\Downloads, podendo alterá-lo conforme necessário.

3. Clique em Ferramentas > Referências para abrir a caixa de diálogo Referências – Projeto 1, marque a caixa de verificação Microsoft VBScript Regular Expressions 5,5 e clique em OK.


4. Prima a tecla F5 ou clique no botão Executar para executar o código; irá aparecer um arquivo de texto com todos os URLs já extraídos.


Nota: se utilizar o Outlook 2010 e o Outlook 365, certifique-se de marcar também a caixa de verificação Windows Script Host Object Modelno Passo 3 e, em seguida, clique em OK.
Macro VBA para extrair URLs de vários e-mails para um ficheiro do Excel
Se pretender extrair URLs de vários e-mails selecionados para um ficheiro do Excel, a macro VBA seguinte pode ajudá-lo.
1. Selecione um e-mail do qual pretende extrair os URLs e prima as teclas Alt+F11para abrir a janela do Microsoft Visual Basic for Applications.
2. Clique em Inserir>Módulopara criar um novo módulo em branco e, em seguida, copie e cole o código seguinte no módulo.
Macro VBA: extrair todos os URLs de vários e-mails para um ficheiro do Excel
'UpdatebyExtendoffice20220414
Dim xExcel As Excel.Application
Dim xExcelWb As Excel.Workbook
Dim xExcelWs As Excel.Worksheet
Sub ExportAllUrlsToExcelFromMultipleEmails()
Dim xMail As MailItem
Dim xSelection As Selection
Dim xWordDoc As Word.Document
Dim xHyperlink As Word.Hyperlink
On Error Resume Next
Set xSelection = Outlook.Application.ActiveExplorer.Selection
If (xSelection Is Nothing) Then Exit Sub
Set xExcel = CreateObject("Excel.Application")
Set xExcelWb = xExcel.Workbooks.Add
Set xExcelWs = xExcelWb.Sheets(1)
xExcelWb.Activate
With xExcelWs
.Range("A1") = "Subject"
.Range("B1") = "DisplayText"
.Range("C1") = "Link"
End With
With xExcelWs.Range("A1", "C1").Font
.Bold = True
.Size = 12
End With
For Each xMail In xSelection
Set xWordDoc = xMail.GetInspector.WordEditor
If xWordDoc.Hyperlinks.Count > 0 Then
For Each xHyperlink In xWordDoc.Hyperlinks
Call ExportToExcelFile(xMail, xHyperlink)
Next
End If
Next
xExcelWs.Columns("A:C").AutoFit
xExcel.Visible = True
End Sub
Sub ExportToExcelFile(curMail As MailItem, curHyperlink As Word.Hyperlink)
Dim xRow As Integer
xRow = xExcelWs.Range("A" & xExcelWs.Rows.Count).End(xlUp).Row + 1
With xExcelWs
.Cells(xRow, 1) = curMail.Subject
.Cells(xRow, 2) = curHyperlink.TextToDisplay
.Cells(xRow, 3) = curHyperlink.Address
End With
End Sub
Neste código, são extraídos todos os hiperligações, bem como o respetivo Texto de Exibição e o Assunto do Email.

3. Clique em Ferramentas > Referências para abrir a caixa de diálogo Referências – Projeto 1, marque as caixas de verificação Microsoft Excel 16,0 Object Library e Microsoft Word 16,0 Object Library e clique em OK.


4. Em seguida, coloque o cursor dentro do código VBA e prima a tecla F5 ou clique no botão Executar para executar o código; irá surgir um livro do Excel com todos os URLs já extraídos, que pode guardar numa pasta.

Nota: todas as macros VBA acima extraem todos os tipos de hiperligações.
Melhores Ferramentas de Produtividade para o Office
Experimente o totalmente novo Kutools para Outlook com 100+ funcionalidades incríveis!Clique para transferir já!
📧Automação de E-mails: Resposta Automática (disponível para POP e IMAP) / Agendar Envio de E-mails / CC/BCC Automático por Regras ao Enviar E-mail / Encaminhamento Automático (regra avançada) / Adicionar Saudação Automaticamente / Dividir Automaticamente E-mails com Múltiplos Destinatários em Mensagens Individuais...
📨Gestão de E-mails: Recallar e-mail / Bloquear e-mails fraudulentos por assunto e outros critérios / Eliminar e-mails duplicados / Pesquisa avançada / Organizar pastas...
📁Anexos Pro: Guardar em Lote / Desanexar em Lote / Comprimir em Lote / Salvar Automaticamente / Desanexar Automaticamente / Auto Comprimir...
🌟Magia da Interface: 😊 Mais Emojis Bonitos e Divertidos / Avisa-o quando chegam e-mails importantes / Minimizar o Outlook em vez de fechá-lo...
👍Maravilhas com um Clique: Responder a Todos com Anexos / E-mails Anti-Phishing / 🕘 Mostrar Fuso Horário – Hora Atual do Remetente...
👩🏼🤝👩🏻Contactos e Calendário: Criar contactos em lote a partir de e-mails selecionados / Dividir um grupo de contactos em grupos individuais / Remover lembrete de aniversário...
Utilize o Kutools no seu idioma preferido – com suporte para inglês, espanhol, alemão, francês, chinês e mais de 40 idiomas!


🚀 Transferência com um Clique — Obtenha Todos os Extras do Office
Altamente Recomendado: Kutools for Office (5 em 1)
Um clique para transferir cinco instaladoresde uma só vez —Kutools para Excel, Outlook, Word, PowerPointe Office Tab Pro.Clique para transferir já!
- ✅Conveniência com um clique: Transfira os cinco pacotes de instalação numa única ação.
- 🚀Pronto para qualquer tarefa no Office: instale os extras que precisa, exatamente quando os precisar.
- 🧰Incluídos: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools for PowerPoint