KutoolsforOffice — Eén oplossing, vijf krachtige tools.Meer bereiken met minder moeite.

Outlook: zo extraheert u alle URL’s uit één e-mail

AuteurSun Wijzigingsdatum

Als een e-mail honderden URL’s bevat die u naar een tekstbestand moet extraheren, is het handmatig kopiëren en plakken ervan een tijdrovende klus. Deze handleiding laat u zien hoe u met VBA-scripts in één keer alle URL’s uit een e-mail kunt halen.

VBA om URL’s uit één e-mail te extraheren naar een Tekstbestand

VBA om URL’s uit meerdere e-mails te extraheren naar een Excel-bestand

Office Tab – Schakel tabbladbewerking en -browsing in Microsoft Office in en maak werken een fluitje van een cent
Ontgrendel Kutools voor Outlook nu en geniet van meer dan 100 functies met onbeperkte toegang voor altijd
Geef uw Outlook 2024 - 2010 of Outlook 365 een boost met deze geavanceerde functies. Geniet van 100+ krachtige functies en verbeter uw e-mailervaring!

VBA om URL’s uit één e-mail te extraheren naar een Tekstbestand

 

1. Selecteer een e-mail waaruit u de URL’s wilt extraheren en druk op Alt+F11 om het venster Microsoft Visual Basic for Applications te openen.

2. Klik op Invoegen > Module om een nieuwe lege module aan te maken. Kopieer de onderstaande code en plak deze vervolgens in de module.

VBA: haal alle URL’s uit één e-mail en sla ze op in een tekstbestand.

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

Deze code maakt een nieuw tekstbestand aan met als naam het e-mailonderwerp, opgeslagen in het pad: C:\Users\Public\Downloads. U kunt dit naar wens aanpassen.

stappen voor het extraheren van alle URL's uit één e-mail

3. Klik op Extra > Referenties om het dialoogvenster Referenties – Project 1 te openen. Schakel het selectievakje Microsoft VBScript Regular Expressions 5,5 in en klik op OK.

stappen voor het extraheren van alle URL's uit één e-mail
stappen voor het extraheren van alle URL's uit één e-mail

4. Druk op F5 of klik op de knop Uitvoeren om de code uit te voeren. Er verschijnt nu een tekstbestand met alle geëxtraheerde URL’s.

stappen voor het extraheren van alle URL's uit één e-mail
stappen voor het extraheren van alle URL's uit één e-mail

Opmerking: als u Outlook 2010 en Outlook 365 gebruikt, schakelt u in stap 3 ook het selectievakje Windows Script Host Object ModelKlik daarna op OK.


VBA om URL’s uit meerdere e-mails te extraheren naar een Excel-bestand

 

Als u URL’s uit meerdere geselecteerde e-mails naar een Excel-bestand wilt extraheren, helpt onderstaande VBA-code u daarbij.

1. Selecteer een e-mail waaruit u de URL’s wilt extraheren en druk op Alt+F11om het venster Microsoft Visual Basic for Applicationste openen.

2. Klik op Invoegen>Moduleom een nieuwe lege module aan te maken. Kopieer en plak vervolgens de onderstaande code in de module.

VBA: extraheer alle URL’s uit meerdere e-mails naar een Excel-bestand

'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

In deze code worden alle hyperlinks, het bijbehorende Weergavetekst en de E-mailonderwerp geëxtraheerd.

stappen voor het extraheren van alle URL's uit één e-mail

3. Klik op Extra > Referenties om het dialoogvenster Referenties – Project 1 te openen. Schakel de selectievakjes Microsoft Excel 16,0 Object Library en Microsoft Word 16,0 Object Library in. Klik op OK.

stappen voor het extraheren van alle URL's uit één e-mail
stappen voor het extraheren van alle URL's uit één e-mail

4. Plaats de cursor vervolgens binnen de VBA-code en druk op F5 of klik op de knop Uitvoeren om de code uit te voeren. Er verschijnt nu een werkmap met alle geëxtraheerde URL’s; u kunt deze direct opslaan in een map.

stappen voor het extraheren van alle URL's uit één e-mail

Opmerking: alle bovenstaande VBA-scripts extraheren elk type hyperlink.


Beste Office-productiviteitstools

Beleef de gloednieuwe Kutools voor Outlook met 100+ ongelooflijke functies!Klik nu om te downloaden!

🤖KUTOOLS AI:Gebruikt geavanceerde AI-technologie om e-mails moeiteloos te verwerken, waaronder beantwoorden, samenvatten, optimaliseren, uitbreiden, vertalen en opstellen van e-mails.

📧E-mailautomatisering: Automatisch antwoorden (beschikbaar voor POP en IMAP), e-mails plannen om te verzenden, automatisch CC/BCC toepassen op basis van regels bij het verzenden van e-mails, automatisch doorsturen (geavanceerde regels), automatisch een begroeting toevoegen en e-mails met meerdere ontvangers automatisch splitsen in afzonderlijke berichten

📨E-mailbeheer: E-mail terughalen, spam-e-mails blokkeren op basis van onderwerp en andere criteria, dubbele e-mails verwijderen, geavanceerd zoeken en mappen organiseren

📁Bijlagen Pro: Batch opslaan, batch loskoppelen, batch comprimeren, automatisch opslaan, automatisch loskoppelen en automatisch comprimeren

🌟Interface-magie: 😊 Nog meer mooie en coole emoji’s / Waarschuwt u bij binnenkomst van belangrijke e-mails / Minimaliseert Outlook in plaats van het programma te sluiten...

👍Eénklikwonderen: Antwoord Allen met Bijlagen / Anti-phishing-e-mails / 🕘Huidige tijd van afzender-zone weergeven...

👩🏼‍🤝‍👩🏻Contacten & agenda: Batch Contact toevoegen vanuit geselecteerde e-mails / Een contactgroep splitsen in afzonderlijke groepen / Verjaardagsherinnering verwijderen

Gebruik Kutools in uw voorkeurstaal – ondersteunt Engels, Spaans, Duits, Frans, Chinees en meer dan 40 andere talen!

Ontgrendel Kutools voor Outlook direct met één klik! Wacht niet langer—download nu en verhoog uw efficiëntie!

kutools for outlook features1kutools for outlook features2

🚀 Eénklikdownload — Ontvang alle Office-invoegtoepassingen

Sterk aanbevolen: Kutools for Office (5-in-1)

Eén klik om vijf installatiebestandentegelijk te downloaden —Kutools voor Excel, Outlook, Word, PowerPointen Office Tab Pro.Klik nu om te downloaden!

  • Eénkliksgemak: Download alle vijf installatiepakketten in één keer.
  • 🚀Klaar voor elke Office-taak: Installeer de invoegtoepassingen die u nodig heeft, precies op het moment dat u ze nodig heeft.
  • 🧰Inbegrepen: Kutools voor Excel / Kutools voor Outlook / Kutools voor Word / Office Tab Pro / Kutools for PowerPoint