Mnogi uporabniki hrepenijo po metodi za hitro ekstrahiranje vseh e-poštnih naslovov iz telesa Outlookove e-pošte ali celo več e-poštnih sporočil. Zato bo ta članek obravnaval to težavo in vam predstavil hitro metodo, ki uporablja VBA.
Ko vam nekdo pošlje e-poštno sporočilo, katerega telo vsebuje seznam e-poštnih naslovov, če želite uporabiti te e-poštne naslove iz nekaterih razlogov, kot je dodajanje v mapo s stiki ali drugo, morate najprej ekstrahirati vse e-poštne naslove v telesu . Zato vam bomo v nadaljevanju pokazali, kako to doseči z VBA.

Ekstrahirajte vse e-poštne naslove iz telesa več Outlookovih e-poštnih sporočil
- Na začetku zaženite aplikacijo Outlook.
- Potem, ko vstopite v glavno okno Outlooka, lahko pritisnete tipki "Alt + F11".
- Nato morate v novem oknu »Microsoft Visual Basic for Applications« odpreti neuporabljen modul ali preprosto vstaviti novega.
- Kasneje morate kopirati in prilepiti naslednjo kodo VBA v ta 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
- Pozneje lahko zapustite trenutno okno urejevalnika VBA in nadaljujete z dodajanjem novega makra v orodno vrstico za hitri dostop.
- Po tem morate spremeniti raven varnosti makra Outlook na nizko.
- Končno lahko poskusite.
- Najprej na seznamu e-poštnih sporočil izberite več Outlookovih e-poštnih sporočil, iz katerih morate ekstrahirati e-poštne naslove.
- Nato kliknite nov gumb v orodni vrstici za hitri dostop.
- Ko prejmete sporočilo, ki vas poziva »Dokončano«, lahko obiščete vnaprej določeno mapo v kodi VBA in poiščete novo datoteko .TXT.
- Odprite to datoteko in videli boste, da so vsi ekstrahirani e-poštni naslovi, prikazani kot naslednji posnetek zaslona:
Zaščitite Outlook pred zlonamernimi makri
Če ste Outlook nastavili tako, da dovoljuje vse makre, morate paziti na vse makre, prikrite v neznanih e-poštnih sporočilih. To je zato, ker lahko vsebujejo veliko skritih virusov, ki lahko neposredno povzročijo okvaro Outlooka. Datoteko PST, okuženo z virusom, je precej težko obnoviti. Takrat je morda vaša zadnja možnost močna in zanesljiva Outlook popravek uporabnost, kot je DataNumen Outlook Repair. Lahko popravi Outlookovo datoteko, ne glede na to, kako velika je škoda.
Uvod avtorja:
Shirley Zhang je strokovnjakinja za obnovitev podatkov v DataNumen, Inc., ki je vodilna na svetu na področju tehnologij za obnovitev podatkov, vključno z pokvarjen sql in obeti za popravilo programskih izdelkov. Za več informacij obiščite www.datanumen.com


