Иногда вам может потребоваться пакетный захват всех электронных писем в определенном разговоре, а затем пакетный экспорт их в локальную папку в виде текстовых файлов. Эта статья научит вас, как получить его в кратчайшие сроки.
По какой-то причине вам может потребоваться экспортировать все электронные письма в определенном разговоре на локальный диск. Если делать это вручную, а именно находить и сохранять по одному, это будет утомительной и трудоемкой задачей. Поэтому вам лучше поискать другой более быстрый метод, например следующий. Он будет использовать фрагмент кода 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 и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com
