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
- Automatize o envio de e-mails com Auto CC / BCC, Avanço automático por regras; enviar Resposta automatica (Fora do escritório) sem a necessidade de um servidor Exchange...
- Receba lembretes como Aviso BCC ao responder a todos enquanto você está na lista BCC, e Lembrar quando houver anexos ausentes para anexos esquecidos...
- Melhore a eficiência do e-mail com Responder (todos) com anexos, Adicionar automaticamente saudação ou data e hora à assinatura ou assunto, Responder vários e-mails...
- Simplifique o envio de e-mails com Recuperar e-mails, Ferramentas de Anexo (Compactar tudo, salvar tudo automaticamente...), Remover Duplicados e Relatório Rápido...
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.
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.
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.
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.
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.
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.
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.