Come esportare in batch tutte le e-mail in una conversazione come file di testo tramite Outlook VBA

Condividi ora:

A volte, potresti voler acquisire in batch tutte le e-mail in una conversazione specifica e quindi esportarle in batch nella cartella locale come file di testo. Questo articolo ti insegnerà come ottenerlo in tempi rapidi.

Esporta in batch tutte le e-mail in una conversazione come file di testo tramite Outlook VBAPer qualche motivo, potrebbe essere necessario esportare tutte le e-mail in una determinata conversazione sull'unità locale. Se lo fai manualmente, vale a dire trovare e salvare uno per uno, sarà un compito noioso e arduo. Pertanto, faresti meglio a cercare un altro metodo più rapido, come il seguente. Utilizzerà un pezzo di codice VBA per ottenerlo senza sudare.

Esporta in batch tutti i messaggi di una conversazione come file di testo

  1. All'inizio, avvia la tua applicazione Outlook.
  2. Quindi premere i pulsanti "Alt + F11" per accedere all'editor VBA di Outlook.
  3. Successivamente, nella nuova finestra, occorre aprire un modulo che non è in uso o inserire direttamente un nuovo modulo.
  4. Successivamente dovresti copiare e incollare i seguenti codici VBA in questo modulo.
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

Codice VBA - Esporta in batch tutte le e-mail in una conversazione come file di testo

  1. Successivamente, puoi aggiungere il nuovo progetto VBA alla barra degli strumenti di accesso rapido come al solito.
  2. Successivamente assicurati che il livello di sicurezza delle macro di Outlook sia basso.
  3. Infine, potresti provare.
  • Innanzitutto, seleziona un'e-mail.
  • Quindi fare clic sul nuovo pulsante macro nella barra di accesso rapido.
  • Quando ricevi il messaggio "Completo", puoi aprire la cartella locale predefinita, in cui vedrai le email in formato "TXT".

Suggerimenti per il ripristino dei dati PST dopo la corruzione

Spesso, in Outlook, potresti riscontrare vari errori di Outlook, alcuni dei quali possono essere estremamente gravi e portare direttamente alla corruzione del file PST. In quel momento, è necessario intraprendere azioni per riparare PST file per ritrovare i tuoi preziosi dati. In questo caso, puoi semplicemente ricorrere a uno strumento affidabile e collaudato, come DataNumen Outlook Repair.

Introduzione dell'autore:

Shirley Zhang è un'esperta di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui recuperare sql server e prodotti software di riparazione di Outlook. Per maggiori informazioni visita www.datanumen.com

Condividi ora:

I commenti sono chiusi.