Ibland kanske du vill samla in alla e-postmeddelanden i en viss konversation och sedan exportera dem till lokal mapp som textfiler. Denna artikel kommer att lära dig hur du får det på kort tid.
Av någon anledning kan du behöva exportera alla e-postmeddelanden i en viss konversation till din lokala enhet. Om du manuellt gör detta, nämligen att hitta och spara en efter en, blir det en tråkig och svår uppgift. Därför skulle du bättre söka efter en snabbare metod, till exempel följande. Det kommer att använda en bit VBA-kod för att få den utan att svettas.
Batch exportera alla e-postmeddelanden i en konversation som textfiler
- Starta din Outlook-applikation redan från början.
- Tryck sedan på “Alt + F11” -knapparna för att komma till Outlook VBA-redigeraren.
- Därefter, i det nya fönstret, måste du öppna en modul som inte används eller infoga en ny modul direkt.
- Därefter ska du kopiera och klistra in följande VBA-koder i den här modulen.
Public strFilePath, strFileName As String
Sub ExportMailsInConversationAsTXT()
Dim objSelectedMail As Outlook.MailItem
Dim objConversation As Outlook.Conversation
Dim objMail As Outlook.MailItem
Set objSelectedMail = ActiveExplorer.Selection.Item(1)
Set objConversation = objSelectedMail.GetConversation
If Not (objConversation Is Nothing) Then
'Get all root items in this conversation
For Each objMail In objConversation.GetRootItems
strFileName = objMail.Subject
'Remove the unsupported characters in email subject
strFileName = Replace(strFileName, "/", " ")
strFileName = Replace(strFileName, "\", " ")
strFileName = Replace(strFileName, ":", "")
strFileName = Replace(strFileName, "?", " ")
strFileName = Replace(strFileName, Chr(34), " ")
strFileName = Format(objMail.ReceivedTime, "YYYY-MM-DD") & "_" & strFileName & ".txt"
'Export as Text files
'Change "E:\" to other local folder path as per your needs
strFilePath = "E:\" & strFileName
objMail.SaveAs strFilePath, OLTXT
'Process all children as well
Call ProcessChildren(objMail, objConversation)
Next
End If
MsgBox "Complete!", vbExclamation
End Sub
Sub ProcessChildren(objCurMail As Outlook.MailItem, objCurConversation As Outlook.Conversation)
Dim objItems As Outlook.SimpleItems
Dim objItem As Outlook.MailItem
Set objItems = objCurConversation.GetChildren(objCurMail)
If objItems.Count > 0 Then
For Each objItem In objItems
strFileName = objItem.Subject
strFileName = Replace(strFileName, "/", " ")
strFileName = Replace(strFileName, "\", " ")
strFileName = Replace(strFileName, ":", "")
strFileName = Replace(strFileName, "?", " ")
strFileName = Replace(strFileName, Chr(34), " ")
strFileName = Format(objItem.ReceivedTime, "yyyy-mm-dd") & "_" & strFileName & ".txt"
strFilePath = "E:\" & strFileName
objItem.SaveAs strFilePath, OLTXT
'Process all children recursively
Call ProcessChildren(objItem, objCurConversation)
Next
End If
End Sub
- Därefter kan du lägga till det nya VBA-projektet i Quick Access Toolbar som vanligt.
- Se senare till att din makro-säkerhetsnivå i Outlook är låg.
- Slutligen kan du prova.
- Välj först ett e-postmeddelande.
- Klicka sedan på den nya makroknappen i verktygsfältet Snabbåtkomst.
- När du får meddelandet "Complete" kan du öppna den fördefinierade lokala mappen där du kommer att se e-postmeddelandena i "TXT" -format.
Tips för att återställa PST-data efter korruption
Ofta i Outlook kan du stöta på olika Outlook-fel, varav några kan vara flammande allvarliga så att de direkt leder till PST-korruption. Vid den tiden måste du vidta åtgärder för att reparera PST fil för att hitta tillbaka dina värdefulla data. I det här fallet kan du bara återgå till ett ansedd och väl beprövat verktyg, som DataNumen Outlook Repair.
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
