Accéder au contenu principal

Kutools for Office — Une Suite. Cinq Outils. Accomplissez Plus.

Outlook : Comment extraire toutes les URL d'un email

Author Sun Last modified

Si un email contient des centaines d'URL à extraire dans un fichier texte, les copier-coller une par une serait une tâche fastidieuse. Ce tutoriel présente des VBAs qui peuvent rapidement extraire toutes les URL d'un email.

VBA pour extraire les URL d'un email vers un fichier texte

VBA pour extraire les URL de plusieurs emails vers un fichier Excel

Office Tab - Activez l'édition et la navigation par onglets dans Microsoft Office, rendant le travail facile
Débloquez Kutools pour Outlook maintenant et profitez de plus de 100 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 100 fonctionnalités puissantes et améliorez votre expérience email !

VBA pour extraire les URL d'un email vers un fichier texte

 

1. Sélectionnez l'email dont vous souhaitez extraire les URL, puis appuyez sur les touches Alt + F11 pour activer la fenêtre Microsoft Visual Basic for Applications.

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

VBA : extraire toutes les URL d'un email 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, un nouveau fichier texte sera créé avec le nom du sujet de l'email et placé dans le chemin suivant : C:\Users\Public\Downloads. Vous pouvez le modifier selon vos besoins.

steps on extracting all URLs from one email

3. Cliquez sur Outils > Références pour ouvrir la boîte de dialogue Références – Projet 1, cochez la case Microsoft VBScript Regular Expressions 5.5, puis cliquez sur OK.

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

4. Appuyez sur la touche F5 ou cliquez sur le bouton Exécuter pour exécuter le code. Un fichier texte apparaît maintenant, contenant toutes les URL extraites.

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

Remarque : si vous êtes utilisateur d'Outlook 2010 et Outlook 365, veuillez également cocher la case Windows Script Host Object Model à l'étape 3. Ensuite, cliquez sur OK.


VBA pour extraire les URL de plusieurs emails vers un fichier Excel

 

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

1. Sélectionnez l'email dont vous souhaitez extraire les URL, puis appuyez sur les touches Alt + F11 pour activer la fenêtre Microsoft Visual Basic for Applications.

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

VBA : extraire toutes les URL de plusieurs emails 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

Ce code extrait tous les hyperliens ainsi que les textes affichés correspondants et les sujets des emails.

steps on extracting all URLs from one email

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

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

4. Placez ensuite le curseur dans le code VBA, appuyez sur la touche F5 ou cliquez sur le bouton Exécuter pour exécuter le code. Un classeur apparaît maintenant, contenant toutes les URL extraites, que vous pouvez ensuite enregistrer dans un dossier.

steps on extracting all URLs from one email

Remarque : toutes les VBAs ci-dessus extraient tous les types d'hyperliens.


Meilleurs outils de productivité pour Office

Dernière nouvelle : Kutools pour Outlook lance sa version gratuite !

Découvrez le tout nouveau Kutools pour Outlook avec plus de100 fonctionnalités incroyables ! Cliquez pour télécharger dès maintenant !

🤖 Kutools IA : Exploite une technologie avancée d’IA pour gérer les e-mails en toute simplicité, notamment pour répondre, résumer, optimiser, étendre, traduire et rédiger des e-mails.

📧 Automatisation des E-mails : Réponse automatique (disponible pour POP et IMAP) / Programmer l’envoi d’un e-mail / CC/BCC automatique par règle lors de l’envoi / Transfert automatique (règle avancée) / Ajouter automatiquement une salutation / Diviser automatiquement les e-mails multi-destinataires en messages individuels ...

📨 Gestion des E-mails : Rappeler lemail / Bloquer les e-mails frauduleux par objet et autres critères / Supprimer les doublons / Recherche Avancée / Organiser les dossiers ...

📁 Pièces jointes Pro : Enregistrement en lot / Détachement en lot / Compression en lot / Enregistrer automatiquement / Détachement automatique / Compression automatique ...

🌟 Interface magique : 😊Plus d’emojis élégants et amusants / Vous rappelle lorsque des e-mails importants arrivent / Réduire Outlook au lieu de fermer ...

👍 Fonctions en un clic : Répondre à tous avec pièces jointes / E-mails anti-phishing / 🕘Afficher le fuseau horaire de l’expéditeur ...

👩🏼‍🤝‍👩🏻 Contacts & Calendrier : Ajouter en lot des contacts à partir des e-mails sélectionnés / Diviser un groupe de contacts en groupes individuels / Supprimer le rappel d’anniversaire ...

Utilisez Kutools dans votre langue préférée – prend en charge l’Anglais, l’Espagnol, l’Allemand, le Français, le Chinois et plus de40 autres !

Débloquez instantanément Kutools pour Outlook en un seul clic. N’attendez pas, téléchargez dès maintenant pour gagner en efficacité !

kutools for outlook features1 kutools for outlook features2

🚀 Téléchargement en un clic — Obtenez tous les compléments Office

Recommandé vivement : Kutools pour Office (5-en-1)

Un clic pour télécharger cinq installateurs en une seule fois — Kutools pour Excel, Outlook, Word, PowerPoint et Office Tab Pro. Cliquez pour télécharger dès maintenant !

  • Praticité en un clic : téléchargez les cinq packages d’installation en une seule action.
  • 🚀 Prêt pour toutes les tâches Office : installez les compléments dont vous avez besoin, quand vous en avez besoin.
  • 🧰 Inclus : Kutools pour Excel / Kutools pour Outlook / Kutools pour Word / Office Tab Pro / Kutools pour PowerPoint