Ir para o conteúdo principal

Outlook: como extrair todos os URLs de um email

Se um e-mail contiver centenas de URLs que precisam ser extraídos para um arquivo de texto, copiá-los e colá-los um por um será um trabalho tedioso. 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

Guia Office - Habilite edição e navegação com guias no Microsoft Office, facilitando o trabalho
Kutools para Outlook - Impulsione o Outlook com mais de 100 recursos avançados para eficiência superior
Aumente seu Outlook 2021 - 2010 ou Outlook 365 com esses recursos avançados. Desfrute de um teste gratuito abrangente de 60 dias e melhore sua experiência de e-mail!

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

 

1. Selecione um e-mail que você deseja extrair os URLs e pressione outro + F11 chaves para habilitar Microsoft Visual Basic para Aplicações janela.

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

VBA: extraia todos os 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, ele criará um novo arquivo de texto que é nomeado com o assunto do email e colocado no caminho: C:\Usuários\Público\Downloads, você pode alterá-lo conforme necessário.

URL de extração de documentos 1

3. Clique Ferramentas > Referências Para habilitar Referências – Projeto 1 diálogo, marque a Expressões regulares do Microsoft VBScript 5.5 caixa de seleção. Clique OK.

URL de extração de documentos 1

URL de extração de documentos 1

4. Pressione F5 tecla ou clique Execute botão para executar o código, agora um arquivo de texto aparece e todos os URLs foram extraídos nele.

URL de extração de documentos 1

URL de extração de documentos 1

Note: se você for usuário do Outlook 2010 e do Outlook 365, marque também a caixa de seleção Modelo de Objeto do Host de Script do Windows na Etapa 3. Em seguida, clique em OK.


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

 

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

1. Selecione um e-mail que você deseja extrair os URLs e pressione outro + F11 chaves para habilitar Microsoft Visual Basic para Aplicações janela.

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

VBA: extraia todos os 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

Nesse código, ele extrai todos os hiperlinks e os textos de exibição correspondentes e os assuntos do e-mail.

URL de extração de documentos 1

3. Clique Ferramentas > Referências Para habilitar Referências – Projeto 1 diálogo, marque Biblioteca de objetos do Microsoft Excel 16.0 e Biblioteca de objetos do Microsoft Word 16.0 caixas de seleção. Clique OK.

URL de extração de documentos 1

URL de extração de documentos 1

4. Em seguida, coloque o cursor dentro do código VBA, pressione F5 tecla ou clique Execute botão para executar o código, agora uma pasta de trabalho aparece e todos os URLs foram extraídos nela, então você pode salvá-la em uma pasta.

URL de extração de documentos 1

Note: todos os VBAs acima extraem todos os tipos de hiperlinks.


Melhores ferramentas de produtividade de escritório

Kutools for Outlook - Mais de 100 recursos poderosos para turbinar seu Outlook

🤖 Assistente de correio AI: E-mails profissionais instantâneos com magia de IA – um clique para respostas geniais, tom perfeito, domínio multilíngue. Transforme o envio de e-mails sem esforço! ...

📧 Automação de e-mail: Fora do escritório (disponível para POP e IMAP)  /  Agendar envio de e-mails  /  CC/BCC automático por regras ao enviar e-mail  /  Encaminhamento automático (regras avançadas)   /  Adicionar saudação automaticamente   /  Divida automaticamente e-mails de vários destinatários em mensagens individuais ...

📨 Gestão de E-mail: Lembre-se facilmente de e-mails  /  Bloquear e-mails fraudulentos por assuntos e outros  /  Apagar Emails Duplicados  /  Pesquisa Avançada  /  Consolidar pastas ...

📁 Anexos PróSalvar em lote  /  Desanexar lote  /  Comprimir em Lote  /  Salvamento automático   /  Desanexação Automática  /  Compressão automática ...

???? Interface Mágica: 😊Mais emojis bonitos e legais   /  Aumente a produtividade do seu Outlook com visualizações com guias  /  Minimize o Outlook em vez de fechar ...

???? Maravilhas com um clique: Responder a todos com anexos recebidos  /   E-mails antiphishing  /  🕘Mostrar fuso horário do remetente ...

👩🏼‍🤝‍👩🏻 Contatos e calendário: Adicionar contatos em lote de e-mails selecionados  /  Dividir um grupo de contatos em grupos individuais  /  Remover lembretes de aniversário ...

Sobre Características 100 Aguarde sua exploração! Clique aqui para descobrir mais.

 

 

Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations