Comment exporter par lots tous les e-mails d'une conversation sous forme de fichiers texte via Outlook VBA

Partage maintenant:

Parfois, vous souhaiterez peut-être capturer par lots tous les e-mails d'une conversation spécifique, puis les exporter par lots vers un dossier local sous forme de fichiers texte. Cet article vous apprendra comment l'obtenir rapidement.

Exporter par lots tous les e-mails d'une conversation sous forme de fichiers texte via Outlook VBAPour une raison quelconque, vous devrez peut-être exporter tous les e-mails d'une certaine conversation vers votre lecteur local. Si vous faites cela manuellement, à savoir rechercher et enregistrer un par un, ce sera une tâche fastidieuse et ardue. Par conséquent, vous feriez mieux de rechercher une autre méthode plus rapide, telle que la suivante. Il utilisera un morceau de code VBA pour l'obtenir sans transpirer.

Exporter par lots tous les e-mails d'une conversation sous forme de fichiers texte

  1. Au tout début, lancez votre application Outlook.
  2. Appuyez ensuite sur les touches "Alt + F11" pour accéder à l'éditeur Outlook VBA.
  3. Ensuite, dans la nouvelle fenêtre, vous devez ouvrir un module qui n'est pas utilisé ou insérer directement un nouveau module.
  4. Ensuite, vous devez copier et coller les codes VBA suivants dans ce module.
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

Code VBA - Exporter par lots tous les e-mails d'une conversation sous forme de fichiers texte

  1. Après cela, vous pouvez ajouter le nouveau projet VBA à la barre d'outils d'accès rapide comme d'habitude.
  2. Assurez-vous ensuite que le niveau de sécurité de votre macro Outlook est bas.
  3. Enfin, vous pouvez essayer.
  • Tout d'abord, sélectionnez un e-mail.
  • Cliquez ensuite sur le bouton Nouvelle macro dans la barre d'outils Accès rapide.
  • Lorsque vous recevez le message "Terminé", vous pouvez ouvrir le dossier local prédéfini, dans lequel vous verrez les e-mails au format "TXT".

Conseils pour restaurer les données PST après la corruption

Souvent, dans Outlook, vous pouvez rencontrer diverses erreurs Outlook, dont certaines peuvent être extrêmement graves et conduire directement à la corruption de PST. À ce moment-là, vous devez prendre des mesures pour réparer la TVP fichier pour retrouver vos précieuses données. Dans ce cas, vous pouvez simplement recourir à un outil réputé et éprouvé, comme DataNumen Outlook Repair.

Introduction de l'auteur:

Shirley Zhang est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris récupérer sql server et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datanumen.com

Partage maintenant:

Les commentaires sont fermés.