Note: The other languages of the website are Google-translated. Back to English

Outlook: alle URL's uit één e-mail halen

Als een e-mail honderden URL's bevat die naar een tekstbestand moeten worden geëxtraheerd, is het een vervelende klus om ze een voor een te kopiëren en te plakken. Deze tutorial introduceert VBA's die snel alle URL's uit een e-mail kunnen halen.

VBA om URL's van één e-mail naar een tekstbestand te extraheren

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

Office-tabblad - Schakel bewerken en browsen met tabbladen in Office in en maak het werk veel gemakkelijker ...
Kutools for Outlook - Brengt 100 krachtige geavanceerde functies naar Microsoft Outlook
  • Auto CC / BCC volgens regels bij het verzenden van e-mail; Automatisch doorsturen Meerdere e-mails volgens regels; Auto antwoord zonder uitwisselingsserver, en meer automatische functies ...
  • BCC-waarschuwing - toon bericht wanneer u iedereen probeert te beantwoorden als uw e-mailadres in de BCC-lijst staat; Herinner bij ontbrekende bijlagen, en meer herinneren functies ...
  • Beantwoorden (alle) met alle bijlagen in het mailgesprek; Beantwoord veel e-mails tegelijk; Begroeting automatisch toevoegen wanneer antwoord; Datum en tijd automatisch toevoegen aan onderwerp ...
  • Hulpmiddelen voor bijlagen: Automatisch loskoppelen, alles comprimeren, alles hernoemen, alles automatisch opslaan ... Quick Report, Tel geselecteerde e-mails, Dubbele e-mails en contacten verwijderen ...
  • Meer dan 100 geavanceerde functies zullen los de meeste van uw problemen op in Outlook 2010-2019 en 365. Gratis proefperiode van 60 dagen met volledige functionaliteit.

VBA om URL's van één e-mail naar een tekstbestand te extraheren

 

1. Selecteer een e-mail waarvan u de URL's wilt extraheren en druk op anders + F11 toetsen om in te schakelen Microsoft Visual Basic voor toepassingen venster.

2. klikken Invoegen > Module om een ​​nieuwe lege module te maken, kopieer en plak vervolgens onderstaande code in de module.

VBA: extraheer alle URL's van één e-mail naar 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

In deze code wordt een nieuw tekstbestand gemaakt met de naam van het e-mailonderwerp en in het pad geplaatst: C:\Gebruikers\Openbaar\Downloads, kunt u deze naar behoefte wijzigen.

doc extract url 1

3. klikken Toolbox > Referenties in staat te stellen Referenties – Project 1 dialoog, vink de . aan Microsoft VBScript reguliere expressies 5.5 selectievakje. Klik OK.

doc extract url 1

doc extract url 1

4. druk op F5 toets of klik lopen knop om de code uit te voeren, verschijnt er nu een tekstbestand en alle URL's zijn erin geëxtraheerd.

doc extract url 1

doc extract url 1

Opmerking:: als u gebruikers van Outlook 2010 en Outlook 365 bent, vink dan ook het selectievakje Windows Script Host Object Model aan in stap 3. Klik vervolgens op OK.


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

 

Als u URL's van meerdere geselecteerde e-mails naar een Excel-bestand wilt extraheren, kan onderstaande VBA-code u helpen.

1. Selecteer een e-mail waarvan u de URL's wilt extraheren en druk op anders + F11 toetsen om in te schakelen Microsoft Visual Basic voor toepassingen venster.

2. klikken Invoegen > Module om een ​​nieuwe lege module te maken, kopieer en plak vervolgens onderstaande code in de module.

VBA: extraheer alle URL's van 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 extraheert het alle hyperlinks en de bijbehorende displayteksten en de e-mailonderwerpen.

doc extract url 1

3. klikken Toolbox > Referenties in staat te stellen Referenties – Project 1 dialoog, vink aan Microsoft Excel 16.0-objectbibliotheek en Microsoft Word 16.0-objectbibliotheek selectievakjes. Klik OK.

doc extract url 1

doc extract url 1

4. Plaats vervolgens de cursor binnen de VBA-code, druk op F5 toets of klik lopen knop om de code uit te voeren, er verschijnt nu een werkmap en alle URL's zijn erin geëxtraheerd, waarna u deze in een map kunt opslaan.

doc extract url 1

Opmerking:: alle bovenstaande VBA's extraheren alle soorten hyperlinks.


Kutools voor Outlook - Brengt 100 geavanceerde functies naar Outlook en maakt het werk veel gemakkelijker!

  • Auto CC / BCC volgens regels bij het verzenden van e-mail; Automatisch doorsturen Meerdere e-mails op maat; Auto antwoord zonder uitwisselingsserver, en meer automatische functies ...
  • BCC-waarschuwing - toon bericht wanneer u alle probeert te beantwoorden als uw e-mailadres in de BCC-lijst staat; Herinner bij ontbrekende bijlagen, en meer herinneren functies ...
  • Beantwoorden (alle) met alle bijlagen in het e-mailgesprek; Beantwoord veel e-mails in seconden; Begroeting automatisch toevoegen wanneer antwoord; Datum toevoegen aan onderwerp ...
  • Hulpmiddelen voor bijlagen: beheer alle bijlagen in alle e-mails, Automatisch loskoppelen, Alles comprimeren, Alles hernoemen, Alles opslaan ... Snel rapport, Tel geselecteerde e-mails...
  • Krachtige ongewenste e-mails op maat; Verwijder dubbele e-mails en contacten... Stel u in staat om slimmer, sneller en beter te doen in Outlook.
shot kutools outlook kutools tabblad 1180x121
shot kutools vooruitzichten kutools plus tabblad 1180x121
 
Comments (0)
Nog geen beoordelingen. Beoordeel als eerste!
Er zijn nog geen reacties geplaatst
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0  Personages
Voorgestelde locaties