Nogle gange ønsker du måske at batchfange alle e-mails i en specifik samtale og derefter batcheksportere dem til den lokale mappe som tekstfiler. Denne artikel vil lære dig, hvordan du får det på hurtig tid.
Af en eller anden grund skal du muligvis eksportere alle e-mails i en bestemt samtale til dit lokale drev. Hvis du manuelt gør dette, nemlig at finde og gemme én efter én, vil det være en kedelig og besværlig opgave. Derfor må du hellere søge en anden hurtigere metode, såsom den følgende. Det vil bruge et stykke VBA-kode for at få det uden at svede.
Batcheksporter alle mails i en samtale som tekstfiler
- Start din Outlook-applikation lige fra starten.
- Tryk derefter på “Alt + F11” -tasten for at få adgang til Outlook VBA-editor.
- Efterfølgende skal du i det nye vindue åbne et modul, der ikke er i brug, eller direkte indsætte et nyt modul.
- Dernæst skal du kopiere og indsætte følgende VBA-koder i dette modul.
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
- Derefter kan du tilføje det nye VBA-projekt til Quick Access Toolbar som normalt.
- Sørg senere for, at dit Outlook-makrosikkerhedsniveau er lavt.
- Til sidst kunne du prøve.
- Vælg først en e-mail.
- Klik derefter på den nye makroknap i værktøjslinjen Hurtig adgang.
- Når du får beskeden "Complete", kan du åbne den foruddefinerede lokale mappe, hvor du vil se e-mails i "TXT"-format.
Tips til gendannelse af PST-data efter korruption
Ofte kan du i Outlook støde på forskellige Outlook-fejl, hvoraf nogle kan være voldsomt alvorlige, så de direkte fører til PST-korruption. På det tidspunkt skal du tage skridt til reparation PST fil for at finde dine værdifulde data tilbage. I dette tilfælde kan du bare vende tilbage til et velrenommeret og velafprøvet værktøj, som f.eks DataNumen Outlook Repair.
Forfatter Introduktion:
Shirley Zhang er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder genvinde sql server og Outlook-reparationssoftwareprodukter. For mere information besøg www.datanumen.com
