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
- Automatiseer e-mailen met Auto CC / BCC, Automatisch doorsturen door regels; versturen Auto antwoord (Out of Office) zonder dat er een uitwisselingsserver nodig is...
- Ontvang herinneringen zoals BCC-waarschuwing bij het beantwoorden van iedereen terwijl u in de BCC-lijst staat, en Herinner bij ontbrekende bijlagen voor vergeten bijlagen...
- Verbeter de e-mailefficiëntie met Antwoord (allemaal) met bijlagen, Automatisch begroeting of datum en tijd toevoegen aan handtekening of onderwerp, Beantwoord meerdere e-mails...
- Stroomlijn e-mailen met E-mails intrekken, Hulpmiddelen voor bijlagen (Alles comprimeren, Alles automatisch opslaan...), Verwijder duplicaten en Quick Report...
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.
3. klikken Tools > Referenties in staat te stellen Referenties – Project 1 dialoog, vink de . aan Microsoft VBScript reguliere expressies 5.5 selectievakje. Klik OK.
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.
Note: 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.
3. klikken Tools > 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.
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.
Note: alle bovenstaande VBA's extraheren alle soorten hyperlinks.
Beste Office-productiviteitstools
Kutools for Outlook - Meer dan 100 krachtige functies om uw Outlook een boost te geven
🤖 AI Mail-assistent: Directe professionele e-mails met AI-magie: met één klik geniale antwoorden, perfecte toon, meertalige beheersing. Transformeer e-mailen moeiteloos! ...
???? Email Automation: Niet aanwezig (beschikbaar voor POP en IMAP) / Plan het verzenden van e-mails / Automatische CC/BCC volgens regels bij het verzenden van e-mail / Automatisch doorsturen (geavanceerde regels) / Begroeting automatisch toevoegen / Splits e-mails van meerdere ontvangers automatisch op in individuele berichten ...
📨 email management: Gemakkelijk e-mails herinneren / Blokkeer zwendel-e-mails van onderwerpen en anderen / Verwijder dubbele e-mails / Uitgebreid Zoeken / Consolideer mappen ...
📁 Bijlagen Pro: Batch opslaan / Batch losmaken / Batchcompressie / Automatisch opslaan / Automatisch loskoppelen / Automatisch comprimeren ...
???? Interface-magie: 😊Meer mooie en coole emoji's / Verhoog uw Outlook-productiviteit met weergaven met tabbladen / Minimaliseer Outlook in plaats van te sluiten ...
???? Wonderen met één klik: Beantwoord iedereen met inkomende bijlagen / Antiphishing-e-mails / 🕘Toon de tijdzone van de afzender ...
👩🏼🤝👩🏻 Contacten en agenda: Batchcontacten toevoegen uit geselecteerde e-mails / Splits een contactgroep in individuele groepen / Verwijder verjaardagsherinneringen ...
Over 100 Eigenschappen Wacht op je verkenning! Klik hier om meer te ontdekken.