Mange brugere længes efter en metode til hurtigt at udtrække alle e-mail-adresser fra brødteksten i en Outlook-e-mail, eller endda flere e-mails. Derfor vil denne artikel se på dette problem og dele dig en hurtig metode, der bruger VBA.
Når nogen sender dig en e-mail, hvis krop indeholder en liste over e-mailadresser, hvis du af nogle grunde vil gøre brug af disse e-mailadresser, som f.eks. at tilføje til din mappe med kontakter eller andre, skal du først udtrække alle e-mailadresserne i brødteksten . Derfor vil vi i det følgende vise dig, hvordan du opnår det med VBA.

Udtræk alle e-mail-adresser fra brødteksten af flere Outlook-e-mails
- Start din Outlook-applikation lige fra starten.
- Derefter, efter at du er kommet ind i hovedvinduet i Outlook, kan du trykke på "Alt + F11" -tasterne.
- Dernæst skal du i det nye "Microsoft Visual Basic for Applications"-vindue åbne et ubrugt modul eller blot indsætte et nyt.
- Senere skal du kopiere og indsætte følgende VBA-kode i dette modul.
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
- Senere kan du afslutte det aktuelle VBA-editorvindue og fortsætte med at tilføje den nye makro til værktøjslinjen Hurtig adgang.
- Derefter skal du ændre dit Outlook-makrosikkerhedsniveau til lavt.
- Endelig kan du prøve.
- For det første skal du på e-mail-listen vælge flere Outlook-e-mails, fra hvis krop du skal udpakke e-mail-adresserne.
- Klik derefter på den nye knap i værktøjslinjen Hurtig adgang.
- Når du får en besked, der beder dig "Fuldført", kan du gå til den foruddefinerede mappe i VBA-koden for at finde en ny .TXT-fil.
- Åbn denne fil, og du vil se, at alle udpakkede e-mailadresser, vist som følgende skærmbillede:
Beskyt Outlook mod ondsindede makroer
Hvis du har indstillet din Outlook til at tillade alle makroer, skal du holde øje med alle makroer, der er skjult i de ukendte e-mails. Det skyldes, at de kan indeholde en masse skjulte vira, som direkte kan forårsage Outlook-korruption. Virusinficeret PST-fil er temmelig vanskelig at genoprette. På det tidspunkt er måske din sidste udvej en potent og pålidelig Outlook-rettelse hjælpeprogram, såsom DataNumen Outlook Repair. Det kan reparere Outlook-fil, uanset hvor ekstrem skaden er.
Forfatter Introduktion:
Shirley Zhang er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder korrupt sql og Outlook-reparationssoftwareprodukter. For mere information besøg www.datanumen.com


