Skip to main content

¿Cómo exportar correos electrónicos de varias carpetas/subcarpetas a Excel en Outlook?

Author: Kelly Last Modified: 2025-06-04

Exportar correos electrónicos desde múltiples carpetas o subcarpetas a Excel puede ser una tarea tediosa si dependes de métodos manuales u opciones limitadas de Outlook. Afortunadamente, existen formas más eficientes de lograrlo. En este artículo, exploraremos dos métodos: un enfoque basado en VBA y una solución más rápida y fácil de usar con Kutools para Outlook. Si bien el método VBA ofrece flexibilidad, implica una configuración compleja y ajustes. Por otro lado, Kutools para Outlook proporciona una manera sencilla y poderosa de exportar correos electrónicos a Excel con solo unos clics, ahorrándote tiempo y esfuerzo. ¡Vamos a profundizar en los detalles!

Exportar Correos Electrónicos de Múltiples Carpetas/Subcarpetas a Excel Usando VBA (Complejo pero Flexible)

Exportar Correos Electrónicos de una Carpeta/Subcarpeta a Excel Usando Kutools para Outlook 👍 (Eficiente y Fácil de Usar)


Exportar Correos Electrónicos de Múltiples Carpetas/Subcarpetas a Excel Usando VBA

Si te sientes cómodo con la programación y necesitas una solución personalizable, usar VBA puede ser efectivo. Este método te permite especificar múltiples carpetas o subcarpetas y exportar sus correos electrónicos a archivos de Excel separados. Sin embargo, requiere conocimientos técnicos y una cuidadosa personalización del código.

Paso 1: Abrir el Editor de VBA

Presiona Alt + F11 para abrir la ventana "Microsoft Visual Basic para Aplicaciones".

Paso 2: Insertar un Nuevo Módulo

Haz clic en "Insertar" > "Módulo", y luego pega el siguiente código VBA en la nueva ventana de Módulo.

VBA: Exportar correos electrónicos de múltiples carpetas y subcarpetas a Excel

Const MACRO_NAME = "Export Outlook Folders to Excel"
Sub ExportMain()
ExportToExcel "destination_folder_path\A.xlsx", "your_email_account\folder\subfolder_1"
ExportToExcel "destination_folder_path\B.xlsx", "your_email_account\folder\subfolder_2"
MsgBox "Process complete.", vbInformation + vbOKOnly, MACRO_NAME
End Sub

Sub ExportToExcel(strFilename As String, strFolderPath As String)
Dim olkMsg As Object
Dim olkFld As Object
Dim excApp As Object
Dim excWkb As Object
Dim excWks As Object
Dim intRow As Integer
Dim intVersion As Integer

If strFilename <> "" Then
If strFolderPath <> "" Then
Set olkFld = OpenOutlookFolder(strFolderPath)
If TypeName(olkFld) <> "Nothing" Then
intVersion = GetOutlookVersion()
Set excApp = CreateObject("Excel.Application")
Set excWkb = excApp.Workbooks.Add()
Set excWks = excWkb.ActiveSheet
With excWks
.Cells(1, 1) = "Subject"
.Cells(1, 2) = "Received"
.Cells(1, 3) = "Sender"
End With
intRow = 2
For Each olkMsg In olkFld.Items
If olkMsg.Class = olMail Then
excWks.Cells(intRow, 1) = olkMsg.Subject
excWks.Cells(intRow, 2) = olkMsg.ReceivedTime
excWks.Cells(intRow, 3) = GetSMTPAddress(olkMsg, intVersion)
intRow = intRow + 1
End If
Next
Set olkMsg = Nothing
excWkb.SaveAs strFilename
excWkb.Close
Else
MsgBox "The folder '" & strFolderPath & "' does not exist in Outlook.", vbCritical + vbOKOnly, MACRO_NAME
End If
Else
MsgBox "The folder path was empty.", vbCritical + vbOKOnly, MACRO_NAME
End If
Else
MsgBox "The filename was empty.", vbCritical + vbOKOnly, MACRO_NAME
End If

Set olkMsg = Nothing
Set olkFld = Nothing
Set excWks = Nothing
Set excWkb = Nothing
Set excApp = Nothing
End Sub

Public Function OpenOutlookFolder(strFolderPath As String) As Outlook.MAPIFolder
Dim arrFolders As Variant
Dim varFolder As Variant
Dim bolBeyondRoot As Boolean

On Error Resume Next
If strFolderPath = "" Then
Set OpenOutlookFolder = Nothing
Else
Do While Left(strFolderPath, 1) = "\"
strFolderPath = Right(strFolderPath, Len(strFolderPath) - 1)
Loop
arrFolders = Split(strFolderPath, "\")
For Each varFolder In arrFolders
Select Case bolBeyondRoot
Case False
Set OpenOutlookFolder = Outlook.Session.Folders(varFolder)
bolBeyondRoot = True
Case True
Set OpenOutlookFolder = OpenOutlookFolder.Folders(varFolder)
End Select
If Err.Number <> 0 Then
Set OpenOutlookFolder = Nothing
Exit For
End If
Next
End If
On Error GoTo 0
End Function

Function GetSMTPAddress(Item As Outlook.MailItem, intOutlookVersion As Integer) As String
Dim olkSnd As Outlook.AddressEntry
Dim olkEnt As Object

On Error Resume Next
Select Case intOutlookVersion
Case Is < 14
If Item.SenderEmailType = "EX" Then
GetSMTPAddress = SMTPEX(Item)
Else
GetSMTPAddress = Item.SenderEmailAddress
End If
Case Else
Set olkSnd = Item.Sender
If olkSnd.AddressEntryUserType = olExchangeUserAddressEntry Then
Set olkEnt = olkSnd.GetExchangeUser
GetSMTPAddress = olkEnt.PrimarySmtpAddress
Else
GetSMTPAddress = Item.SenderEmailAddress
End If
End Select
On Error GoTo 0
Set olkSnd = Nothing
Set olkEnt = Nothing
End Function

Function GetOutlookVersion() As Integer
Dim arrVer As Variant
arrVer = Split(Outlook.Version, ".")
GetOutlookVersion = arrVer(0)
End Function

Function SMTPEX(olkMsg As Outlook.MailItem) As String
Dim olkPA As Outlook.propertyAccessor
On Error Resume Next
Set olkPA = olkMsg.propertyAccessor
SMTPEX = olkPA.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x5D01001E")
On Error GoTo 0
Set olkPA = Nothing
End Function

Paso 3: Personalizar el Código VBA

  1. Reemplaza "ruta_carpeta_destino" en el código anterior con la ruta de carpeta real, como "C:\Users\DT168\Documents\TEST".
  2. Reemplaza "tu_cuenta_de_correo\carpeta\subcarpeta_1" y "tu_cuenta_de_correo\carpeta\subcarpeta_2" con las rutas de tus carpetas de Outlook, como "Kelly@extendoffice.com\Bandeja de entrada\A" y "Kelly@extendoffice.com\Bandeja de entrada\B".
    doc-export-subfolders-to-excel-1

Paso 4: Ejecutar el Código

Presiona "F5" o haz clic en el botón "Ejecutar" para ejecutar el código. Luego, haz clic en el botón "Aceptar" en el cuadro de diálogo emergente "Exportar Carpetas de Outlook a Excel". Ahora, los correos electrónicos de todas las carpetas/subcarpetas especificadas se han exportado a libros de Excel.
doc-export-subfolders-to-excel-3

Desventajas:

  • Configuración Compleja: Requiere ajustes cuidadosos del código y conocimientos prácticos de VBA.
  • Propenso a Errores: Pequeños errores en la personalización pueden provocar errores o exportaciones incompletas.
  • Consumo de Tiempo: No es adecuado para exportaciones rápidas o frecuentes.

¡Transforma tu Gestión de Correos Electrónicos con Procesamiento Masivo!

¿Cansado de tareas repetitivas con correos electrónicos? Kutools para Outlook ofrece herramientas de "Procesamiento Masivo" para agilizar tu flujo de trabajo y ahorrar tiempo valioso.

  • 🌟 Responder a Múltiples Correos Electrónicos: Envía respuestas masivas usando plantillas sin esfuerzo.
  • 📧 Reenviar Individualmente: Reenvía varios correos electrónicos como mensajes normales, no como adjuntos.
  • 📝 Guardar en Varios Formatos: Exporta correos electrónicos como PDF, Word, Excel y más, ¡todo de una vez!
Kutools for Outlook Bulk Processing Feature

Prueba Kutools para Outlook Hoy


Exportar Correos Electrónicos de una Carpeta/Subcarpeta a Excel Usando Kutools para Outlook 👍

Para un enfoque más rápido y sin complicaciones, "Kutools para Outlook" ofrece una función llamada "Guardar Correos Electrónicos Seleccionados como Archivos en Varios Formatos". Este método es altamente recomendado por su simplicidad, velocidad y versatilidad. Ya sea que estés gestionando un pequeño lote de correos electrónicos o grandes conjuntos de datos, Kutools garantiza una experiencia fluida con el mínimo esfuerzo.

¡Desbloquea la máxima eficiencia en el correo electrónico con Kutools para Outlook! Accede a 70 funciones poderosas completamente gratis, para siempre. ¡Descarga la versión gratuita ahora!

Paso 1: Seleccionar la Carpeta o Subcarpeta

Navega hasta la carpeta o subcarpeta que contiene los correos electrónicos que deseas exportar. Presiona Ctrl + A para seleccionar todos los correos electrónicos en la lista.

Paso 2: Acceder a la Función Guardar Correos Electrónicos Seleccionados como Archivos en Varios Formatos

Haz clic en "Kutools" > "Procesamiento Masivo" > "Guardar Correos Electrónicos Seleccionados como Archivos en Varios Formatos".

doc-export-subfolders-to-excel-4

Paso 3: Configurar los Ajustes de Exportación

  1. En el cuadro de diálogo "Guardar Mensajes como Otros Archivos", elige la carpeta de destino donde deseas guardar los archivos.
  2. Selecciona la opción "Formato Excel".
  3. Elige los contenidos específicos del correo electrónico que deseas exportar (por ejemplo, encabezado, cuerpo) en la sección "Guardar Contenido".
    doc-export-subfolders-to-excel-5

Paso 4: Completar la Exportación

Haz clic en "Aceptar" para comenzar el proceso de exportación. Una vez completado, encontrarás todos los correos electrónicos guardados como archivos de Excel separados en la carpeta designada.

doc-export-subfolders-to-excel-6

Ventajas:

  • Rápido e Intuitivo: Exporta correos electrónicos a Excel con solo unos clics, sin habilidades técnicas requeridas.
  • Salida Personalizable: Elige formatos de archivo específicos y contenidos para satisfacer tus necesidades.
  • Proceso Libre de Errores: Evita las complejidades y posibles errores asociados con los métodos VBA.
  • Resultados Profesionales: Perfecto para crear registros organizados o compartir datos de manera eficiente.
Nota: Para aplicar la utilidad "Guardar Correos Electrónicos Seleccionados como Archivos en Varios Formatos" de Kutools para Outlook, primero debes descargar e instalar Kutools para Outlook.

Las mejores herramientas de productividad para Office

Últimas noticias: ¡Kutools para Outlook lanza su versión gratuita!

Descubre la nueva versión GRATUITA de Kutools para Outlook con más de70 funciones increíbles, ¡para que la disfrutes PARA SIEMPRE! ¡Haz clic para descargar ahora!

🤖 Kutools AI : Utiliza tecnología avanzada de IA para gestionar correos electrónicos sin esfuerzo, incluyendo responder, resumir, optimizar, ampliar, traducir y redactar emails.

📧 Automatización de Email: Respuesta automática (Disponible para POP e IMAP) / Programar envío de correos / CC/BCC automático por regla al enviar correo / Reenvío automático (Regla avanzada) / Agregar saludo automáticamente / Dividir automáticamente emails con múltiples destinatarios en mensajes individuales...

📨 Gestión de Email: Recuperar correo electrónico / Bloquear correos fraudulentos por asunto y otros criterios / Eliminar correos electrónicos duplicados / Búsqueda Avanzada / Organizar carpetas...

📁 Adjuntos Pro: Guardar en lote / Desanexar en lote / Comprimir en lote / Guardar automáticamente / Desconectar automáticamente / Auto Comprimir...

🌟 Magia en la interfaz: 😊Más emojis bonitos y modernos / Avisos cuando llegan correos importantes / Minimiza Outlook en vez de cerrarlo...

👍 Funciones de un solo clic: Responder a Todos con Adjuntos / Correos electrónicos anti-phishing / 🕘Mostrar la zona horaria del remitente...

👩🏼‍🤝‍👩🏻 Contactos y Calendario: Agregar contactos en lote desde correos seleccionados / Dividir un grupo de contactos en grupos individuales / Eliminar recordatorio de cumpleaños...

Desbloquea al instante Kutools para Outlook con un solo clic. ¡No esperes más, descárgalo ahora y aumenta tu productividad!

kutools for outlook features1 kutools for outlook features2