Note: The other languages of the website are Google-translated. Back to English

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 a edição e navegação com guias no Office e torne o trabalho muito mais fácil ...
Kutools for Outlook - traz 100 recursos avançados poderosos para o Microsoft Outlook
  • Auto CC / BCC por regras ao enviar e-mail; Avanço automático Vários e-mails por regras; Resposta automatica sem servidor Exchange e mais recursos automáticos ...
  • Aviso BCC - mostrar mensagem quando você tenta responder a todos se o seu endereço de e-mail estiver na lista BCC; Lembrar quando houver anexos ausentes, e mais recursos de lembrete ...
  • Responder (todos) com todos os anexos na conversa de correio; Responder muitos e-mails de uma vez; Adicionar saudação automaticamente quando responder; Adicionar data e hora automaticamente ao assunto ...
  • Ferramentas de Anexo: Desanexar automaticamente, Comprimir tudo, Renomear tudo, Salvar tudo automaticamente ... Relatório Rápido, Contar e-mails selecionados, Remover e-mails e contatos duplicados ...
  • Mais de 100 recursos avançados resolva a maioria dos seus problemas no Outlook 2010-2019 e 365. Full features 60-day free trial.

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 Corrida 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

Nota: 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 Corrida 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

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


Kutools for Outlook - traz 100 recursos avançados para o Outlook e torna o trabalho muito mais fácil!

  • Auto CC / BCC por regras ao enviar e-mail; Avanço automático Vários emails por encomenda; Resposta automatica sem servidor Exchange e mais recursos automáticos ...
  • Aviso BCC - mostrar mensagem quando você tentar responder a todos se o seu endereço de e-mail estiver na lista BCC; Lembrar quando houver anexos ausentes, e mais recursos de lembrete ...
  • Responder (todos) com todos os anexos na conversa de correio; Responder muitos e-mails em segundos; Adicionar saudação automaticamente quando responder; Adicionar data ao assunto ...
  • Ferramentas de anexo: gerenciar todos os anexos em todos os e-mails, Desanexação Automática, Comprimir tudo, Renomear tudo, Salvar tudo ... Relatório rápido, Contar e-mails selecionados...
  • Lixo eletrônico poderoso por costume; Remover e-mails e contatos duplicados... Permite que você faça de maneira mais inteligente, rápida e melhor no Outlook.
tiro kutools aba kutools do outlook 1180x121
tiro kutools outlook kutools mais guia 1180x121
 
Comentários (0)
Ainda não há classificações. Seja o primeiro a avaliar!
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos