Mange brukere lengter etter en metode for raskt å trekke ut alle e-postadresser fra hoveddelen av en Outlook-e-post, eller til og med flere e-poster. Derfor vil denne artikkelen se på dette problemet og dele deg en rask metode som bruker VBA.
Når noen sender deg en e-post hvis brødtekst inneholder en liste over e-postadresser, hvis du ønsker å bruke disse e-postadressene av noen grunner, som å legge til i Kontakter-mappen eller andre, må du først trekke ut alle e-postadressene i brødteksten . Derfor vil vi i det følgende vise deg hvordan du oppnår det med VBA.

Trekk ut alle e-postadresser fra brødteksten til flere Outlook-e-poster
- Start Outlook-applikasjonen helt i begynnelsen.
- Deretter, etter å ha kommet inn i hovedvinduet i Outlook, kan du trykke på "Alt + F11" -tastene.
- Deretter, i det nye "Microsoft Visual Basic for Applications"-vinduet, må du åpne en ubrukt modul eller bare sette inn en ny.
- Senere må du kopiere og lime inn følgende VBA-kode i denne 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
- Senere kan du avslutte det gjeldende VBA-redigeringsvinduet og fortsette å legge til den nye makroen til Quick Access Toolbar.
- Etter det må du endre Outlook-makrosikkerhetsnivået til lavt.
- Endelig kan du prøve.
- Først, i e-postlisten, velg flere Outlook-e-poster, fra hvis brødtekst du trenger å trekke ut e-postadressene.
- Klikk deretter på den nye knappen i hurtigtilgangsverktøylinjen.
- Når du får en melding som ber deg "Fullført", kan du gå til den forhåndsdefinerte mappen i VBA-koden for å finne en ny .TXT-fil.
- Åpne denne filen og du vil se at alle utpakkede e-postadresser, vist som følgende skjermbilde:
Beskytt Outlook mot ondsinnede makroer
Hvis du har satt Outlook til å tillate alle makroer, må du holde øye med alle makroer som er skjult i de ukjente e-postene. Det er fordi de kan inneholde mange skjulte virus, som direkte kan forårsake Outlook-korrupsjon. Virusinfisert PST-fil er ganske vanskelig å gjenopprette. På den tiden er kanskje siste utvei en potent og pålitelig Outlook-fiks nytte, som f.eks DataNumen Outlook Repair. Den kan reparere Outlook-fil uansett hvor ekstrem skaden er.
Forfatterintroduksjon:
Shirley Zhang er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert korrupt sql og Outlook-reparasjonsprodukter. For mer informasjon besøk www.datanumen. Med


