Mnoho uživatelů touží po metodě, jak rychle extrahovat všechny e-mailové adresy z těla e-mailu aplikace Outlook nebo dokonce z více e-mailů. V tomto článku se proto podíváme na tento problém a sdílíme vám rychlou metodu, která používá VBA.
Když vám někdo pošle e-mail, jehož tělo obsahuje seznam e-mailových adres, chcete-li tyto e-mailové adresy z nějakých důvodů použít, například přidat do složky Kontakty nebo jiné, musíte nejprve extrahovat všechny e-mailové adresy v těle. . Proto vám v následujících ukázkách ukážeme, jak toho dosáhnout pomocí VBA.

Extrahujte všechny e-mailové adresy z těla více e-mailů aplikace Outlook
- Hned na začátku spusťte aplikaci Outlook.
- Poté, co se dostanete do hlavního okna aplikace Outlook, můžete stisknout klávesy „Alt + F11“.
- Dále v novém okně „Microsoft Visual Basic for Applications“ musíte otevřít nepoužívaný modul nebo jednoduše vložit nový.
- Později musíte do tohoto modulu zkopírovat a vložit následující kód VBA.
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
- Později můžete zavřít aktuální okno editoru VBA a pokračovat v přidávání nového makra na panel nástrojů Rychlý přístup.
- Poté musíte změnit úroveň zabezpečení maker aplikace Outlook na nízkou.
- Nakonec to můžete vyzkoušet.
- Nejprve v seznamu e-mailů vyberte několik e-mailů aplikace Outlook, z jejichž těla potřebujete extrahovat e-mailové adresy.
- Poté klikněte na nové tlačítko na panelu nástrojů Rychlý přístup.
- Když se zobrazí zpráva s výzvou „Dokončeno“, můžete přejít do předem definované složky v kódu VBA a najít nový soubor .TXT.
- Otevřete tento soubor a uvidíte, že všechny extrahované e-mailové adresy se zobrazují jako následující snímek obrazovky:
Chraňte Outlook před škodlivými makry
Pokud jste nastavili svůj Outlook tak, aby povolil všechna makra, musíte dávat pozor na všechna makra maskovaná v neznámých e-mailech. Je to proto, že mohou obsahovat mnoho skrytých virů, které mohou přímo způsobit poškození aplikace Outlook. Virově infikovaný soubor PST je velmi obtížné obnovit. V té době je možná vaše poslední možnost silná a spolehlivá Oprava aplikace Outlook nástroj, jako je DataNumen Outlook Repair. Může opravit soubor aplikace Outlook bez ohledu na to, jak extrémní je poškození.
Úvod autora:
Shirley Zhang je expertem na obnovu dat DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně poškozený sql a výhledové softwarové produkty pro opravy. Pro více informací navštivte www.datanumen.com


