Outlook : Comment extraire toutes les URL d'un email
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
- Améliorez votre productivité email grâce à la technologie IA, vous permettant de répondre rapidement aux emails, de rédiger de nouveaux messages, de traduire des messages, et bien plus encore.
- Automatisez l'envoi de courriels avec CC/BCC automatique, Transfert automatique selon des règles ; envoyez une Réponse automatique (Hors du bureau) sans nécessiter de serveur Exchange...
- Recevez des rappels tels que Demander lors de la réponse à un email avec moi en copie cachée (CCi) lorsque vous êtes dans la liste BCC, et Rappel en cas de pièces jointes manquantes pour les pièces jointes oubliées...
- Améliorez l'efficacité des emails avec Répondre (à tous) Avec Pièces jointes, Ajout automatique de Salutation ou Date & Heure dans la signature ou l'objet, Répondre à plusieurs emails...
- Rationalisez l'envoi de courriels avec Rappeler les emails, Outils de pièces jointes (Compresser toutes les pièces jointes, Enregistrer automatiquement toutes les pièces jointes...), Supprimer les doublons, et Rapport rapide...
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.

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.


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.


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.

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.


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.

Remarque : toutes les VBAs ci-dessus extraient tous les types d'hyperliens.
Meilleurs outils de productivité pour Office
Dernières nouvelles : Kutools pour Outlook lance une version gratuite !
Découvrez la toute nouvelle version GRATUITE de Kutools pour Outlook avec plus de70 fonctionnalités incroyables, à utiliser POUR TOUJOURS ! Cliquez pour télécharger maintenant !
📧 Automatisation des emails : Réponse automatique (Disponible pour POP et IMAP) / Programmation d'envoi d'emails / CC/BCC automatique par règle lors de l'envoi d'un email / Transfert automatique (Règle avancée) / Ajouter automatiquement une salutation / Diviser automatiquement les emails multi-destinataires en messages individuels...
📨 Gestion des emails : Rappeler les emails / Bloquer les emails frauduleux par sujets et autres / Supprimer les emails en double / Recherche avancée / Organiser les dossiers...
📁 Pièces jointes Pro : Enregistrement par lot / Détachement par lot / Compression par lot / Enregistrement automatique / Détachement automatique / Compression automatique...
🌟 Magie de l'interface : 😊Plus d'emojis jolis et cool / Vous rappeler lorsque des emails importants arrivent / Réduire Outlook au lieu de fermer...
👍 Merveilles en un clic : Répondre à tous avec pièces jointes / Emails anti-phishing / 🕘Afficher le fuseau horaire de l'expéditeur...
👩🏼🤝👩🏻 Contacts & Calendrier : Ajouter des contacts par lot à partir des emails sélectionnés / Diviser un groupe de contacts en groupes individuels / Supprimer le rappel d'anniversaire...

