Niekedy môžete chcieť hromadne zachytiť všetky e-maily v konkrétnej konverzácii a potom ich hromadne exportovať do miestneho priečinka ako textové súbory. Tento článok vás naučí, ako ju získať v rýchlom čase.
Z nejakého dôvodu bude možno potrebné exportovať všetky e-maily v určitej konverzácii na miestny disk. Ak to urobíte manuálne, konkrétne hľadanie a ukladanie po jednom, bude to namáhavá a namáhavá úloha. Preto by ste mali hľadať inú rýchlejšiu metódu, napríklad nasledujúcu. Na jeho získanie použije kúsok kódu VBA bez toho, aby sa zapotil.
Dávkový export všetkých e-mailov v konverzácii ako textových súborov
- Hneď na začiatku spustite aplikáciu Outlook.
- Potom stlačte klávesovú skratku „Alt + F11“, aby ste sa dostali do editora Outlook VBA.
- Následne v novom okne musíte otvoriť modul, ktorý sa nepoužíva, alebo priamo vložiť nový modul.
- Ďalej by ste mali skopírovať a vložiť nasledujúce kódy VBA do tohto modulu.
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
- Potom môžete obvyklým spôsobom pridať nový projekt VBA na panel nástrojov Rýchly prístup.
- Neskôr zaistite nízku úroveň zabezpečenia makra programu Outlook.
- Nakoniec by ste mohli vyskúšať.
- Najskôr vyberte e-mail.
- Potom kliknite na tlačidlo nového makra na paneli s nástrojmi Rýchly prístup.
- Po zobrazení správy „Dokončené“ môžete otvoriť preddefinovaný miestny priečinok, v ktorom uvidíte e-maily vo formáte „TXT“.
Tipy na obnovenie údajov PST po poškodení
V programe Outlook sa často môžete stretnúť s rôznymi chybami programu Outlook, z ktorých niektoré môžu byť veľmi vážne a môžu viesť priamo k poškodeniu PST. V tom čase musíte podniknúť kroky opraviť PST súbor, aby ste našli svoje cenné dáta. V takom prípade sa môžete obrátiť na renomovaný a osvedčený nástroj, napríklad DataNumen Outlook Repair.
Úvod autora:
Shirley Zhang je expertkou na obnovu dát v DataNumen, Inc., ktorá je svetovým lídrom v oblasti technológií obnovy dát, vrátane zotaviť sa sql server a výhľadové softvérové produkty na opravu. Pre viac informácií navštívte www.datanumen. S
