Passer au contenu principal
 

Outlook : Comment extraire toutes les URL d'un seul e-mail

Auteur : Soleil Dernière modification: 2024-09-03

Si un e-mail contient des centaines d'URL à extraire dans un fichier texte, les copier et les coller une par une sera un travail fastidieux. Ce didacticiel présente les VBA capables d'extraire rapidement toutes les URL d'un e-mail.

VBA pour extraire les URL d'un e-mail vers un fichier texte

VBA pour extraire les URL de plusieurs e-mails vers un fichier Excel

Onglet Office - Activez l'édition et la navigation par onglets dans Microsoft Office, ce qui facilite le travail
Débloquez Kutools pour Outlook version gratuite maintenant et profitez de plus de 70 fonctionnalités avec un accès illimité pour toujours
Boostez votre Outlook 2024 - 2010 ou Outlook 365 avec ces fonctionnalités avancées. Profitez de plus de 70 fonctionnalités puissantes et améliorez votre expérience de messagerie !

VBA pour extraire les URL d'un e-mail vers un fichier texte

 

1. Sélectionnez un e-mail dont vous souhaitez extraire les URL, puis appuyez sur autre + F11 clés pour activer Microsoft Visual Basic pour applications fenêtre.

2. Cliquez insérer > Module pour créer un nouveau module vierge, puis copiez et collez le code ci-dessous dans le module.

VBA : extrayez toutes les URL d'un e-mail vers un fichier texte.

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

Dans ce code, il créera un nouveau fichier texte nommé avec le sujet de l'e-mail et placé dans le chemin : C:\Utilisateurs\Public\Téléchargements, vous pouvez le modifier selon vos besoins.

étapes pour extraire toutes les URL d'un e-mail

3. Cliquez Outils > Références autoriser Références – Projet 1 boîte de dialogue, cochez la Expressions régulières Microsoft VBScript 5.5 case à cocher Cliquez sur OK.

étapes pour extraire toutes les URL d'un e-mail
étapes pour extraire toutes les URL d'un e-mail

4. presse F5 touche ou cliquez Courir bouton pour exécuter le code, maintenant un fichier texte apparaît et toutes les URL y ont été extraites.

étapes pour extraire toutes les URL d'un e-mail
étapes pour extraire toutes les URL d'un e-mail

Notes: si vous utilisez Outlook 2010 et Outlook 365, veuillez également cocher la case Modèle d'objet hôte de script Windows à l'étape 3. Cliquez ensuite sur OK.


VBA pour extraire les URL de plusieurs e-mails vers un fichier Excel

 

Si vous souhaitez extraire les URL de plusieurs e-mails sélectionnés dans un fichier Excel, le code VBA ci-dessous peut vous aider.

1. Sélectionnez un e-mail dont vous souhaitez extraire les URL, puis appuyez sur autre + F11 clés pour activer Microsoft Visual Basic pour applications fenêtre.

2. Cliquez insérer > Module pour créer un nouveau module vierge, puis copiez et collez le code ci-dessous dans le module.

VBA : extrayez toutes les URL de plusieurs e-mails vers un fichier 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

Dans ce code, il extrait tous les hyperliens et les textes d'affichage correspondants et les sujets des e-mails.

étapes pour extraire toutes les URL d'un e-mail

3. Cliquez Outils > Références autoriser Références – Projet 1 boîte de dialogue, cocher Bibliothèque d'objets Microsoft Excel 16.0 et Bibliothèque d'objets Microsoft Word 16.0 cases à cocher. Cliquez sur OK.

étapes pour extraire toutes les URL d'un e-mail
étapes pour extraire toutes les URL d'un e-mail

4. Placez ensuite le curseur dans le code VBA, appuyez sur F5 touche ou cliquez Courir bouton pour exécuter le code, maintenant un classeur apparaît et toutes les URL y ont été extraites, vous pouvez alors l'enregistrer dans un dossier.

étapes pour extraire toutes les URL d'un e-mail

Notes: tous les VBA ci-dessus extraient tous les types d'hyperliens.


Meilleurs outils de productivité bureautique

Dernières nouvelles : lancement de Kutools pour Outlook Version gratuite!

Découvrez le tout nouveau Kutools pour Outlook Version GRATUITE avec plus de 70 fonctionnalités incroyables, à utiliser POUR TOUJOURS! Cliquez pour télécharger maintenant!

🤖 Kutools IA : Utilise une technologie d'IA avancée pour gérer les e-mails sans effort, notamment en répondant, en résumant, en optimisant, en prolongeant, en traduisant et en composant des e-mails.

📧 Email Automation: Réponse automatique (disponible pour POP et IMAP)  /  Programmer l'envoi d'e-mails  /  Auto CC/BCC par règles lors de l'envoi d'un e-mail  /  Transfert automatique (règles avancées)   /  Ajouter un message d'accueil automatique   /  Divisez automatiquement les e-mails multi-destinataires en messages individuels 

(I.e. Email Management: Rappel des e-mails  /  Bloquer les e-mails frauduleux par sujets et autres  /  Supprimer les e-mails en double  /  Recherche Avancée  /  Consolider les dossiers 

(I.e. Pièces jointes ProSauvegarde par lots  /  Détachement par lots  /  Compression par lots  /  Enregistrement automatique   /  Détachement automatique  /  Compression automatique 

???? Magie de l'interface: 😊Plus d'émojis jolis et cool   /  Vous rappeler lorsque des e-mails importants arrivent  /  Réduire Outlook au lieu de fermer 

???? Merveilles en un clic: Répondre à tous avec les pièces jointes entrantes  /   E-mails anti-hameçonnage  /  🕘Afficher le fuseau horaire de l'expéditeur 

👩🏼‍🤝‍👩🏻 Contacts et calendrier: Ajouter par lots des contacts à partir des e-mails sélectionnés  /  Diviser un groupe de contacts en groupes individuels  /  Supprimer les rappels d'anniversaire 

Déverrouillez instantanément Kutools pour Outlook en un seul clic :gratuit en permanence. N'attendez pas, téléchargez maintenant et augmentez votre efficacité !

Kutools pour les fonctionnalités Outlook1 Kutools pour les fonctionnalités Outlook2