Outlook: So extrahieren Sie alle URLs aus einer E-Mail
Wenn eine E-Mail Hunderte von URLs enthält, die in eine Textdatei extrahiert werden müssen, wäre es mühsam, sie einzeln zu kopieren und einzufügen. Dieses Tutorial stellt VBA-Codes vor, die schnell alle URLs aus einer E-Mail extrahieren können.
VBA zum Extrahieren von URLs aus einer E-Mail in eine Textdatei
VBA zum Extrahieren von URLs aus mehreren E-Mails in eine Excel-Datei
- Steigern Sie Ihre E-Mail-Produktivität mit KI-Technologie, die es Ihnen ermöglicht, schnell auf E-Mails zu antworten, neue zu verfassen, Nachrichten zu übersetzen und vieles mehr.
- Automatisieren Sie das Versenden von E-Mails mit Automatische CC/BCC, Automatische Weiterleitung nach Regeln; senden Sie Automatische Antworten (Abwesend) ohne einen Exchange-Server zu benötigen...
- Erhalten Sie Erinnerungen wie Hinweis beim Antworten auf eine E-Mail, bei der ich im BCC-Feld stehe, wenn Sie auf 'Allen antworten' klicken, während Sie in der BCC-Liste sind, und Erinnerung bei fehlenden Anhängen für vergessene Anhänge...
- Steigern Sie die E-Mail-Effizienz mit Antwort (Allen) mit Anhängen, Automatisches Hinzufügen von Begrüßung oder Datum & Uhrzeit in Signatur oder Betreff, Antworten auf mehrere E-Mails...
- Optimieren Sie das E-Mail-Versenden mit E-Mail zurückrufen, Anhangswerkzeuge (Anhänge komprimieren, Automatisch speichern), Duplikate löschen und Schnellbericht...
VBA zum Extrahieren von URLs aus einer E-Mail in eine Textdatei
1. Wählen Sie die E-Mail aus, aus der Sie die URLs extrahieren möchten, und drücken Sie die Tasten Alt + F11, um das Fenster Microsoft Visual Basic for Applications zu öffnen.
2. Klicken Sie auf Einfügen > Modul, um ein neues leeres Modul zu erstellen, und kopieren Sie den folgenden Code in das Modul.
VBA: Alle URLs aus einer E-Mail in eine Textdatei extrahieren.
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 diesem Code wird eine neue Textdatei erstellt, die nach dem Betreff der E-Mail benannt und im Pfad C:\Users\Public\Downloads gespeichert wird. Sie können diesen Pfad bei Bedarf ändern.

3. Klicken Sie auf Extras > Verweise, um das Dialogfeld Verweise – Projekt 1 zu öffnen, aktivieren Sie das Kontrollkästchen Microsoft VBScript Regular Expressions 5.5 und klicken Sie auf OK.


4. Drücken Sie die Taste F5 oder klicken Sie auf die Schaltfläche Ausführen , um den Code auszuführen. Nun wird eine Textdatei geöffnet, und alle URLs wurden darin extrahiert.


Hinweis: Wenn Sie Benutzer von Outlook 2010 und Outlook 365 sind, aktivieren Sie bitte auch das Kontrollkästchen Windows Script Host Object Model in Schritt 3. Klicken Sie dann auf OK.
VBA zum Extrahieren von URLs aus mehreren E-Mails in eine Excel-Datei
Wenn Sie URLs aus mehreren ausgewählten E-Mails in eine Excel-Datei extrahieren möchten, kann Ihnen der folgende VBA-Code helfen.
1. Wählen Sie die E-Mail aus, aus der Sie die URLs extrahieren möchten, und drücken Sie die Tasten Alt + F11 , um das Fenster Microsoft Visual Basic for Applications zu öffnen.
2. Klicken Sie auf Einfügen > Modul, um ein neues leeres Modul zu erstellen, und kopieren Sie den folgenden Code in das Modul.
VBA: Alle URLs aus mehreren E-Mails in eine Excel-Datei extrahieren
'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 diesem Code werden alle Hyperlinks sowie die entsprechenden Anzeigetexte und E-Mail-Betreffzeilen extrahiert.

3. Klicken Sie auf Extras > Verweise, um das Dialogfeld Verweise – Projekt 1 zu öffnen, aktivieren Sie die Kontrollkästchen Microsoft Excel 16.0 Object Library und Microsoft Word 16.0 Object Library. Klicken Sie auf OK.


4. Platzieren Sie den Cursor innerhalb des VBA-Codes, drücken Sie die Taste F5 oder klicken Sie auf die Schaltfläche Ausführen, um den Code auszuführen. Nun wird eine Arbeitsmappe geöffnet, und alle URLs wurden darin extrahiert. Sie können diese dann in einem Ordner speichern.

Hinweis: Alle oben genannten VBAs extrahieren alle Arten von Hyperlinks.
Beste Office-Produktivitätstools
Eilmeldung: Kutools für Outlook startet kostenlose Version!
Erleben Sie das komplett neue Kutools für Outlook mit über100 beeindruckenden Funktionen! Jetzt herunterladen!
📧 E-Mail-Automatisierung: Automatische Antwort (verfügbar für POP und IMAP) /E-Mails zeitgesteuert senden /Automatische CC/BCC nach Regel beim Senden von E-Mails /Automatische Weiterleitung (Erweiterte Regeln) /Automatisches Hinzufügen von Begrüßungen / Mehrfache Empfänger-E-Mails automatisch in einzelne E-Mail-Nachrichten aufteilen...
📨 E-Mail-Verwaltung: E-Mails zurückrufen /Betrugsversuche anhand des Betreffs und anderer Kriterien blockieren /Duplikate E-Mails löschen /Erweiterte Suche /Ordner organisieren...
📁 Anhänge Pro:Stapelweise speichern /Stapelweise abtrennen /Stapelweise komprimieren /Automatisch speichern /Automatisch abtrennen/Automatische Komprimierung...
🌟 Interface-Magie: 😊Mehr attraktive und coole Emojis /Benachrichtigung bei wichtigen E-Mails /Outlook minimieren statt schließen...
👍 Ein-Klick-Wunder: Allen mit Anhängen antworten /Anti-Phishing-E-Mails /🕘Zeitzone des Absenders anzeigen...
👩🏼🤝👩🏻 Kontakte & Kalender: Kontakte stapelweise aus ausgewählten E-Mails hinzufügen /Eine Kontaktgruppe in einzelne Gruppen aufteilen /Geburtstagserinnerung entfernen...
Verwenden Sie Kutools in Ihrer bevorzugten Sprache – unterstützt Englisch, Spanisch, Deutsch, Französisch, Chinesisch und über40 weitere!

