Às vezes, você pode querer capturar em lote todos os e-mails em uma conversa específica e, em seguida, exportá-los em lote para a pasta local como arquivos de texto. Este artigo ensinará como obtê-lo rapidamente.
Por algum motivo, pode ser necessário exportar todos os e-mails de uma determinada conversa para sua unidade local. Se você fizer isso manualmente, ou seja, localizar e salvar um por um, será uma tarefa tediosa e árdua. Portanto, é melhor você procurar outro método mais rápido, como o seguinte. Ele usará um pedaço de código VBA para obtê-lo sem suar a camisa.
Exportar em lote todos os e-mails em uma conversa como arquivos de texto
- No início, inicie seu aplicativo Outlook.
- Em seguida, pressione os botões de tecla “Alt + F11” para acessar o editor VBA do Outlook.
- Posteriormente, na nova janela, você precisa abrir um módulo que não está em uso ou inserir diretamente um novo módulo.
- Em seguida, você deve copiar e colar os seguintes códigos VBA neste módulo.
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
- Depois disso, você pode adicionar o novo projeto VBA à Barra de Ferramentas de Acesso Rápido como de costume.
- Mais tarde, certifique-se de que o nível de segurança de macro do Outlook esteja baixo.
- Por último, você pode tentar.
- Em primeiro lugar, selecione um e-mail.
- Em seguida, clique no novo botão de macro na Barra de Ferramentas de Acesso Rápido.
- Ao receber a mensagem “Complete”, você pode abrir a pasta local predefinida, na qual verá os e-mails no formato “TXT”.
Dicas para restaurar dados PST após corrupção
Freqüentemente, no Outlook, você pode encontrar vários erros do Outlook, alguns dos quais podem ser extremamente sérios, de modo que levam diretamente à corrupção do PST. Nesse momento, você precisa tomar medidas para reparar PST arquivo para encontrar de volta seus dados valiosos. Nesse caso, você pode recorrer a uma ferramenta confiável e comprovada, como DataNumen Outlook Repair.
Introdução do autor:
Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo recuperar sql server e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com
