Много потребители копнеят за метод за бързо извличане на всички имейл адреси от тялото на имейл в Outlook или дори от множество имейли. Следователно тази статия ще разгледа този проблем и ще ви сподели бърз метод, който използва VBA.
Когато някой ви изпрати имейл, чието тяло съдържа списък с имейл адреси, ако искате да използвате тези имейл адреси по някакви причини, като добавяне към вашата папка с контакти или други, трябва първо да извлечете всички имейл адреси в тялото . Затова по-долу ще ви покажем как да го постигнете с VBA.

Извличане на всички имейл адреси от тялото на множество имейли на Outlook
- В самото начало стартирайте приложението си Outlook.
- След това, след като влезете в главния прозорец на Outlook, можете да натиснете клавишите "Alt + F11".
- След това в новия прозорец „Microsoft Visual Basic за приложения“ трябва да отворите неизползван модул или просто да поставите нов.
- По-късно трябва да копирате и поставите следния 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
- По-късно можете да излезете от текущия прозорец на VBA редактор и да продължите да добавяте новия макрос към лентата с инструменти за бърз достъп.
- След това трябва да промените нивото на защита на макроса на Outlook на ниско.
- И накрая, можете да опитате.
- Първо, в списъка с имейли изберете няколко имейла на Outlook, от чието тяло трябва да извлечете имейл адресите.
- След това щракнете върху новия бутон в лентата с инструменти за бърз достъп.
- Когато получите съобщение, което ви подканва „Завършено“, можете да отидете в предварително дефинираната папка във VBA кода, за да намерите нов .TXT файл.
- Отворете този файл и ще видите, че всички извлечени имейл адреси, показани като следната екранна снимка:
Защитете Outlook срещу злонамерени макроси
Ако сте настроили вашия Outlook да разрешава всички макроси, трябва да следите за всички макроси, маскирани в неизвестните имейли. Това е така, защото те могат да съдържат много скрити вируси, които могат директно да причинят повреда на Outlook. Заразеният с вирус PST файл е доста труден за възстановяване. По това време може би последната ви възможност е мощна и надеждна Поправка на Outlook полезност, като DataNumen Outlook Repair. Той може да поправи файла на Outlook, без значение колко голяма е повредата.
Въведение на автора:
Шърли Джанг е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително корумпиран sql и outlook софтуерни продукти за ремонт. За повече информация посетете WWW.datanumen.com


