KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Outlook : comment extraire toutes les URL d’un seul e-mail

AuteurSun Date de modification

Si un e-mail contient des centaines d’URL à extraire vers un fichier texte, les copier-coller une par une deviendrait une tâche fastidieuse. Ce tutoriel vous présente des macros VBA pour extraire rapidement toutes les URL d’un e-mail.

Macro VBA pour extraire les URL d’un e-mail vers un Fichier texte

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

Office Tab - Activez l’édition et la navigation par onglets dans Microsoft Office, pour un travail simplifié
Débloquez Kutools pour Outlook dès maintenant et profitez de plus de 100 fonctionnalités avec un accès illimité à vie
Optimisez votre Outlook 2024 - 2010 ou Outlook 365 grâce à ces fonctions avancées. Profitez de 100+ fonctionnalités puissantes et améliorez votre expérience e-mail !

Macro VBA pour extraire les URL d’un e-mail vers un Fichier texte

 

1. Sélectionnez l’e-mail dont vous souhaitez extraire les URL, puis appuyez sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.

2. Cliquez sur Insertion > Module pour créer un nouveau module vierge, puis copiez-collez le code ci-dessous dedans.

Macro 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, un nouveau fichier texte est créé, nommé d’après l’objet de l’e-mail et enregistré dans le chemin suivant : C:\Users\Public\Downloads ; vous pouvez le modifier selon vos besoins.

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

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

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

4. Appuyez sur la touche F5 ou cliquez sur le bouton Exécuter pour exécuter le code ; un fichier texte s’ouvre alors, contenant toutes les URL extraites.

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

Remarque : si vous utilisez Outlook 2010 ou Outlook 365, veuillez également cocher la case Windows Script Host Object Modelà l’étape 3, puis cliquez sur OK.


Macro 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 vers un fichier Excel, la macro VBA ci-dessous peut vous aider.

1. Sélectionnez un e-mail dont vous souhaitez extraire les URL, puis appuyez sur les touches Alt+F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.

2. Cliquez sur Insertion>Modulepour créer un nouveau module vide, puis copiez-collez le code ci-dessous dans ce module.

Macro VBA : extraire 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

Ce code extrait tous les liens hypertexte ainsi que le Texte d‹affichage et le Objet de l›email correspondants.

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

3. Cliquez sur Outils > Références pour ouvrir la boîte de dialogue Références – Projet 1, puis cochez les cases Microsoft Excel 16,0 Object Library et Microsoft Word 16,0 Object Library. Cliquez ensuite 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, puis appuyez sur la touche F5 ou cliquez sur le bouton Exécuter pour lancer le code : un classeur s’ouvre alors, contenant toutes les URL extraites, que vous pouvez enregistrer dans un dossier.

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

Remarque : toutes les macros VBA ci-dessus extraient tous les types de liens hypertexte.


Meilleurs outils de productivité Office

Découvrez la toute nouvelle Kutools pour Outlook avec 100+ fonctionnalités incroyables !Cliquez pour télécharger dès maintenant !

🤖Kutools IA:Utilise une technologie d’intelligence artificielle avancée pour gérer vos e-mails sans effort, notamment en répondant, résumant, optimisant, développant, traduisant et rédigeant des messages.

📧Automatisation des e-mails : Réponse automatique (disponible pour POP et IMAP) / Planification de l’envoi d’e-mails / CC/BCC automatique selon des règles lors de l’envoi d’e-mails / Transfert automatique (règle avancée) / Ajout automatique de formules de politesse / Division automatique des e-mails à plusieurs destinataires en messages individuels...

📨Gestion des e-mails : Rappeler un e-mail / Bloquer les e-mails frauduleux par objet et autres critères / Supprimer les e-mails en double / Recherche avancée / Organiser vos dossiers

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

🌟Magie de l’interface : 😊 Encore plus d’emojis jolis et stylés / Vous prévient à l’arrivée d’e-mails importants / Réduire Outlook au lieu de le fermer...

👍Merveilles en un clic : Répondre à tous avec pièces jointes / E-mails anti-hameçonnage / 🕘 Afficher le fuseau horaire – Heure actuelle de l’expéditeur

👩🏼‍🤝‍👩🏻Contacts et calendrier : Créer en lot : ajouter un contact à 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 – compatible avec l’anglais, l’espagnol, l’allemand, le français, le chinois et plus de 40 autres langues !

Débloquez Kutools pour Outlook instantanément en un seul clic ! Ne perdez plus une seconde : téléchargez dès maintenant et boostez votre efficacité !

kutools for outlook features1kutools for outlook features2

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

Fortement recommandé : Kutools for Office (5-en-1)

Un seul clic pour télécharger cinq programmes d’installationen une fois —Kutools pour Excel, Outlook, Word, PowerPointet Office Tab Pro.Cliquez pour télécharger dès maintenant !

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