Cómo exportar por lotes todos los correos electrónicos en una conversación como archivos de texto a través de Outlook VBA

Comparte ahora:

A veces, es posible que desee capturar por lotes todos los correos electrónicos en una conversación específica y luego exportarlos por lotes a la carpeta local como archivos de texto. Este artículo le enseñará cómo obtenerlo rápidamente.

Exportar por lotes todos los correos electrónicos en una conversación como archivos de texto a través de Outlook VBAPor alguna razón, es posible que deba exportar todos los correos electrónicos de una determinada conversación a su unidad local. Si lo hace manualmente, es decir, buscar y guardar uno por uno, será una tarea tediosa y ardua. Por lo tanto, es mejor que busque otro método más rápido, como el siguiente. Utilizará un fragmento de código VBA para obtenerlo sin sudar.

Exportar por lotes todos los correos de una conversación como archivos de texto

  1. Desde el principio, inicie su aplicación Outlook.
  2. Luego presione los botones de tecla "Alt + F11" para acceder al editor de Outlook VBA.
  3. Posteriormente, en la nueva ventana, debe abrir un módulo que no está en uso o insertar directamente un nuevo módulo.
  4. A continuación, debe copiar y pegar los siguientes códigos VBA en este 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

Código VBA: exportar por lotes todos los correos electrónicos en una conversación como archivos de texto

  1. Después de eso, puede agregar el nuevo proyecto de VBA a la barra de herramientas de acceso rápido como de costumbre.
  2. Más tarde, asegúrese de que su nivel de seguridad macro de Outlook sea bajo.
  3. Por último, podrías intentarlo.
  • En primer lugar, seleccione un correo electrónico.
  • Luego haga clic en el botón de nueva macro en la barra de herramientas de acceso rápido.
  • Cuando reciba el mensaje "Completo", puede abrir la carpeta local predefinida, en la que verá los correos electrónicos en formato "TXT".

Consejos para restaurar datos PST después de la corrupción

A menudo, en Outlook, puede encontrar varios errores de Outlook, algunos de los cuales pueden ser muy graves, por lo que conducen directamente a la corrupción de PST. En ese momento, debe tomar medidas para reparar PST archivo para recuperar sus datos valiosos. En este caso, puede recurrir a una herramienta confiable y probada, como DataNumen Outlook Repair.

Introducción del autor:

Shirley Zhang es experta en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo recuperar sql server y productos de software de reparación de Outlook. Para más información visite www.datanumen.com

Comparte ahora:

Los comentarios están cerrados.