Skip to main content

Outlook: Como extrair todas as URLs de um email

Author: Sun Last Modified: 2025-06-04

Se um email contém centenas de URLs que precisam ser extraídas para um arquivo de texto, copiá-las e colá-las uma por uma será uma tarefa tediosa. Este tutorial apresenta VBAs que podem extrair rapidamente todas as URLs de um email.

VBA para extrair URLs de um email para um arquivo de texto

VBA para extrair URLs de vários emails para um arquivo do Excel

Office Tab - Ative a edição e navegação em abas no Microsoft Office, tornando o trabalho muito mais fácil.
Desbloqueie a versão gratuita do Kutools para Outlook agora e aproveite mais de 70 recursos com acesso ilimitado para sempre.
Potencialize seu Outlook 2024 - 2010 ou Outlook 365 com esses recursos avançados. Aproveite mais de 70 recursos poderosos e eleve sua experiência de email!

VBA para extrair URLs de um email para um arquivo de texto

 

1. Selecione um email do qual deseja extrair as URLs e pressione as teclas Alt + F11 para ativar a janela Microsoft Visual Basic for Applications.

2. Clique em Inserir > Módulo para criar um novo módulo em branco, depois copie e cole o código abaixo no módulo.

VBA: extrair todas as URLs de um email 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

Neste código, será criado um novo arquivo de texto nomeado com o assunto do email e colocado no caminho: C:\Users\Public\Downloads; você pode alterá-lo conforme necessário.

steps on extracting all URLs from one email

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

steps on extracting all URLs from one email
steps on extracting all URLs from one email

4. Pressione a tecla F5 ou clique no botão Executar para executar o código; agora, um arquivo de texto aparecerá e todas as URLs terão sido extraídas nele.

steps on extracting all URLs from one email
steps on extracting all URLs from one email

Observação: se você for usuário do Outlook 2010 e do Outlook 365, também marque a caixa de seleção Windows Script Host Object Model na Etapa 3. Depois, clique em OK.


VBA para extrair URLs de vários emails para um arquivo do Excel

 

Se você deseja extrair URLs de vários emails selecionados para um arquivo do Excel, o código VBA abaixo pode ajudá-lo.

1. Selecione um email do qual deseja extrair as URLs e pressione as teclas Alt + F11 para ativar a janela Microsoft Visual Basic for Applications.

2. Clique em Inserir > Módulo para criar um novo módulo em branco, depois copie e cole o código abaixo no módulo.

VBA: extrair todas as URLs de vários emails para um arquivo 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, ele extrai todos os hiperlinks, os textos de exibição correspondentes e os assuntos dos emails.

steps on extracting all URLs from one email

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

steps on extracting all URLs from one email
steps on extracting all URLs from one email

4. Em seguida, posicione o cursor dentro do código VBA, pressione a tecla F5 ou clique no botão Executar para executar o código; agora, uma pasta de trabalho aparecerá e todas as URLs terão sido extraídas nela, e você poderá salvá-la em uma pasta.

steps on extracting all URLs from one email

Observação: todos os VBAs acima extraem todos os tipos de hiperlinks.


Melhores Ferramentas de Produtividade para Office

Notícia de Última Hora: Kutools para Outlook Lança Versão Gratuita!

Experimente agora a nova versão GRATUITA do Kutools para Outlook, com mais de70 recursos incríveis para você usar PARA SEMPRE! Clique para baixar agora!

🤖 Kutools AI : Utiliza tecnologia avançada de IA para gerenciar emails com facilidade, incluindo responder, resumir, otimizar, expandir, traduzir e redigir emails.

📧 Automação de Email: Resposta automática (Disponível para POP e IMAP) / Agendar envio de emails / CC/BCC automático por Regra ao enviar email / Encaminhamento automático (Regra avançada) / Adicionar saudação automaticamente / Dividir automaticamente emails com múltiplos destinatários em mensagens individuais...

📨 Gerenciamento de Email: Recallar Email / Bloquear emails suspeitos por assunto e outros critérios / Excluir Emails Duplicados / Pesquisa Avançada / Organizar Pastas...

📁 Anexos Pro: Salvar em lote / Desanexar em lote / Comprimir em lote / Salvar automaticamente / Desanexar automaticamente / Auto Comprimir...

🌟 Interface Mágica: 😊Mais emojis bonitos e estilosos / Aviso quando emails importantes chegarem / Minimizar Outlook ao invés de fechar...

👍 Recursos com Um Clique: Responder a Todos com Anexos / Emails Anti-Phishing / 🕘Exibir o fuso horário do remetente...

👩🏼‍🤝‍👩🏻 Contatos & Calendário: Adicionar contatos em lote a partir de emails selecionados / Dividir um grupo de contatos em grupos individuais / Remover lembrete de aniversário...

Desbloqueie instantaneamente o Kutools para Outlook com um único clique. Não perca tempo, baixe agora e aumente sua produtividade!

kutools for outlook features1 kutools for outlook features2