Іноді вам може знадобитися пакетне захоплення всіх електронних листів у певній розмові, а потім пакетний експорт їх у локальну папку у вигляді текстових файлів. Ця стаття навчить вас, як швидко її отримати.
З якихось причин вам може знадобитися експортувати всі електронні листи в певній розмові на ваш локальний диск. Якщо ви зробите це вручну, а саме знайдете та заощадите один за одним, це буде нудним і важким завданням. Тому вам краще шукати інший швидший метод, такий як наступний. Він буде використовувати шматок коду VBA, щоб отримати його, не порушуючи поту.
Пакетний експорт усіх листів у розмові у вигляді текстових файлів
- З самого початку запустіть програму Outlook.
- Потім натисніть клавіші “Alt + F11”, щоб отримати доступ до редактора Outlook VBA.
- Згодом у новому вікні потрібно відкрити модуль, який не використовується, або безпосередньо вставити новий модуль.
- Далі слід скопіювати та вставити наступні коди VBA в цей модуль.
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
- Після цього ви можете додати новий проект VBA до панелі швидкого доступу, як зазвичай.
- Пізніше переконайтеся, що рівень безпеки макросів Outlook низький.
- Нарешті, ви можете спробувати.
- По-перше, виберіть електронний лист.
- Потім натисніть кнопку нового макросу на панелі швидкого доступу.
- Коли ви отримаєте повідомлення “Завершено”, ви можете відкрити визначену локальну папку, в якій ви побачите електронні листи у форматі “TXT”.
Поради щодо відновлення даних PST після корупції
Часто в Outlook ви можете зіткнутися з різними помилками Outlook, деякі з яких можуть бути серйозними, так що вони прямо призводять до пошкодження PST. У той час вам потрібно вжити заходів до ремонт PST файл, щоб знайти ваші цінні дані. У цьому випадку ви можете просто повернутися до надійного та перевіреного інструменту, наприклад DataNumen Outlook Repair.
Вступ автора:
Ширлі Чжан - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі оговтуватися sql server та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com
