Vissa användare vill snabbt extrahera alla mottagare från flera Outlook-meddelandefiler som sparats från Outlook-e-postmeddelanden. Nu, den här sost kommer att titta på detta för att dela en snabb strategi.
För att extrahera mottagarna från en enda Outlook-meddelandefil kan du bara dubbelklicka för att öppna den och sedan kopiera mottagarna i det öppnade meddelandefönstret. Men om du behöver hantera en mängd Outlook-meddelandefiler är den manuella metoden inte tillräckligt effektiv. Således kan du leta efter ett mycket mer effektivt sätt. Här presenterar vi en sådan för dig. Läs vidare för att få detaljerna.
Extrahera alla mottagare från flera Outlook-meddelandefiler (.msg)
- För somtart, få tillgång till Outlook VBA-redigeraren enligt “Hur du kör VBA-kod i din Outlook".
- Kopiera sedan och klistra in följande VBA-kod i en tom modul.
Dim strRecipients As String
Sub ExtractRecipientsFromOutlookMSGFiles()
Dim objShell, objWindowsFolder As Object
strRecipients = ""
'Select a Windows folder
Set objShell = CreateObject("Shell.Application")
Set objWindowsFolder = objShell.BrowseForFolder(0, "Select a Windows Folder:", 0, "")
If Not objWindowsFolder Is Nothing Then
Call ProcessWindowsFolders(objWindowsFolder.self.Path & "\")
'Display a Message
MsgBox "Recipients: " & vbCrLf & strRecipients, vbInformation + vbOKOnly
End If
End Sub
Sub ProcessWindowsFolders(strFolderPath As String)
Dim objFileSystem As Object
Dim objFolder As Object
Dim objFile As Object
Dim objItem As Object
Dim objMail As Outlook.MailItem
Dim objRecipient As Outlook.Recipient
Dim objSubfolder As Object
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFileSystem.GetFolder(strFolderPath)
For Each objFile In objFolder.Files
If objFileSystem.GetExtensionName(objFile) = "msg" Then
Set objItem = Session.OpenSharedItem(objFile.Path)
If TypeName(objItem) = "MailItem" Then
Set objMail = objItem
'Extract recipients' email addresses
For Each objRecipient In objMail.Recipients
strRecipients = strRecipients & objRecipient.Address & vbCr
Next
End If
End If
Next
'Process all subfolders recursively
If objFolder.SubFolders.Count > 0 Then
For Each objSubfolder In objFolder.SubFolders
If ((objSubfolder.Attributes And 2) = 0) And ((objSubfolder.Attributes And 4) = 0) Then
Call ProcessWindowsFolders(objSubfolder.Path)
End If
Next
End If
End Sub
- Flytta sedan markören i den första underrutinen.
- Klicka sedan på "Kör" -knappen eller tryck på "F5" -tangenten.
- I popup-dialogrutan väljer du sedan Windows-mappen som innehåller källfilerna för Outlook-meddelande (.msg).
- När du har valt klickar du på “OK” för att låta makrot fortsätta att köras.
- När makrot är klart kommer ett meddelande med alla extraherade mottagares e-postadresser att visas, som visas i följande skärmdump.
Skydda dina Outlook-data från Jeopardy
Outlook-data är visserligen utsatta för korruption. Därför är det en ganska betungande uppgift att skydda Outlook-data. Det kräver att du fortsätter att regelbundet säkerhetskopiera Outlook-data. Om möjligt är det också klokt och rekommenderas att förbereda en erfaren och professionell Outlook PST-reparation verktyg, som DataNumen Outlook Repair, så att du kan få omedelbar och snabb räddning i händelse av Outlook-korruption.
Författarintroduktion:
Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive återhämta Sql Server och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com


