Många användare längtar efter en metod för att snabbt extrahera alla e-postadresser från kroppen i en Outlook-e-post eller till och med flera e-postmeddelanden. Därför kommer den här artikeln att titta på denna fråga och dela dig med en snabb metod som använder VBA.
När någon skickar ett e-postmeddelande vars kropp innehåller en lista med e-postadresser, om du vill använda dessa e-postadresser av några anledningar, som att lägga till din kontaktmapp eller andra, måste du först extrahera alla e-postadresser i kroppen . Därför kommer vi i det följande att visa dig hur du uppnår det med VBA.

Extrahera alla e-postadresser från innehållet i flera Outlook-e-postmeddelanden
- Starta din Outlook-applikation redan från början.
- Sedan, efter att ha kommit in i huvudfönstret i Outlook, kan du trycka på “Alt + F11” -tangenterna.
- Därefter, i det nya “Microsoft Visual Basic for Applications” -fönstret, måste du öppna en oanvänd modul eller helt enkelt infoga en ny.
- Senare måste du kopiera och klistra in följande VBA-kod i den här modulen.
Sub ExtractEmailAddresses_BodyofMultipleEmails()
Dim objSelection As Outlook.Selection
Dim objMail As Outlook.MailItem
Dim i, n As Long
Dim objWordApp As Word.Application
Dim objWordDocument As Word.Document
Dim strEmailAddresses As String
Dim objFileSystem As Object
Dim strTextFile As String
Dim objTextFile As Object
Set objSelection = Outlook.Application.ActiveExplorer.Selection
If Not (objSelection Is Nothing) Then
i = 0
n = 1
On Error Resume Next
For i = objSelection.count To 1 Step -1
Set objMail = objSelection.Item(i)
objMail.Display
Set objWordDocument = objMail.GetInspector.WordEditor
Set objWordApp = objWordDocument.Application
Set objSearchRange = objWordDocument.Range
'Find the email addresses via wildcards
With objWordApp.Selection.Find
.Text = "[A-z,0-9]{1,}\@[A-z,0-9,.]{1,}"
.MatchWildcards = True
.Execute
End With
While objWordApp.Selection.Find.Found
'Get a list of email addresses in the body
strEmailAddresses = strEmailAddresses & n & ": " & objWordApp.Selection.Text & vbCrLf
objWordApp.Selection.Find.Execute
n = n + 1
Wend
objMail.Close olDiscard
Next
End If
'Create a new Text file
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
strTextFile = "E:\Extracted Email Addresses-" & Format(Date, "YYYYMMDD") & ".txt"
Set objTextFile = objFileSystem.CreateTextFile(strTextFile, True)
'Input the list of extracted email addresses into this Text file
objTextFile.WriteLine (strEmailAddresses)
objTextFile.Close
MsgBox "Completed!", vbInformation, "Extract Email Addresses"
End Sub
- Senare kan du stänga det nuvarande VBA-redigeringsfönstret och fortsätta att lägga till det nya makrot i snabbåtkomstverktygsfältet.
- Därefter måste du ändra din säkerhetsnivå för makro i Outlook till låg.
- Slutligen kan du prova.
- Först och främst, i e-postlistan, välj flera Outlook-e-postmeddelanden, från vars kropp du behöver för att extrahera e-postadresserna.
- Klicka sedan på den nya knappen i verktygsfältet Snabbåtkomst.
- När du får ett meddelande som frågar dig "Slutförd" kan du gå till den fördefinierade mappen i VBA-koden för att hitta en ny .TXT-fil.
- Öppna den här filen så ser du att alla extraherade e-postadresser visas som följande skärmdump:
Skydda Outlook mot skadliga makron
Om du har ställt in din Outlook för att tillåta alla makron måste du hålla ett öga på alla makron som är förklädda i okända e-postmeddelanden. Det beror på att de kan innehålla många dolda virus som direkt kan orsaka korruption i Outlook. Virusinfekterad PST-fil är ganska svår att återställa. Vid den tiden är kanske din sista utväg en potent och pålitlig Outlook-fix verktyg, såsom DataNumen Outlook Repair. Det kan reparera Outlook-filen oavsett hur extrem skadan är.
Författarintroduktion:
Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive korrupt sql och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com


