Czasami możesz chcieć zbiorczo przechwycić wszystkie wiadomości e-mail w określonej rozmowie, a następnie zbiorczo wyeksportować je do folderu lokalnego jako pliki tekstowe. Z tego artykułu dowiesz się, jak szybko go zdobyć.
Z jakiegoś powodu może być konieczne wyeksportowanie wszystkich wiadomości e-mail z określonej rozmowy na dysk lokalny. Jeśli zrobisz to ręcznie, a mianowicie wyszukasz i zapiszesz jeden po drugim, będzie to żmudne i żmudne zadanie. Dlatego lepiej poszukać innej szybszej metody, takiej jak następująca. Użyje fragmentu kodu VBA, aby uzyskać go bez przerywania potu.
Eksportuj wsadowo wszystkie wiadomości e-mail w rozmowie jako pliki tekstowe
- Na samym początku uruchom aplikację Outlook.
- Następnie naciśnij klawisze „Alt + F11”, aby uzyskać dostęp do edytora VBA programu Outlook.
- Następnie w nowym oknie należy otworzyć nieużywany moduł lub bezpośrednio wstawić nowy moduł.
- Następnie należy skopiować i wkleić następujące kody VBA do tego modułu.
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
- Następnie możesz jak zwykle dodać nowy projekt VBA do paska narzędzi Szybki dostęp.
- Później upewnij się, że poziom zabezpieczeń makr programu Outlook jest niski.
- Na koniec możesz spróbować.
- Najpierw wybierz e-mail.
- Następnie kliknij przycisk nowego makra na pasku narzędzi Szybki dostęp.
- Po otrzymaniu komunikatu „Complete” możesz otworzyć predefiniowany folder lokalny, w którym zobaczysz wiadomości e-mail w formacie „TXT”.
Wskazówki dotyczące przywracania danych PST po uszkodzeniu
Często w programie Outlook możesz napotkać różne błędy programu Outlook, z których niektóre mogą być tak poważne, że prowadzą bezpośrednio do uszkodzenia pliku PST. W tym czasie musisz podjąć działania, aby naprawa PST plik, aby odzyskać cenne dane. W takim przypadku możesz po prostu wrócić do renomowanego i sprawdzonego narzędzia, takiego jak DataNumen Outlook Repair.
Wprowadzenie autora:
Shirley Zhang jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym wyzdrowieć sql server i oprogramowanie do naprawy programu Outlook. po więcej informacji odwiedź www.datanumen.com
