Quizás tenga una carpeta en la que hay numerosas subcarpetas. Si desea reorganizar los correos electrónicos que contienen, como mover rápidamente todos los correos electrónicos de estas subcarpetas a una carpeta específica, puede utilizar la forma compartida en este artículo.
A veces, es posible que deba mover por lotes los correos electrónicos de todas las subcarpetas de una carpeta a otra carpeta por algunas razones, como si desea volver a clasificar los correos electrónicos, por lo que estas subcarpetas ya no son útiles. En este caso, procesar estas subcarpetas una por una es bastante complicado. Por eso, aquí te presentamos otra forma.

Mover por lotes correos electrónicos de todas las subcarpetas de una carpeta a otra carpeta
- Para empezar, inicie su programa Outlook.
- Luego, en la pantalla principal de Outlook, toque los botones de la tecla "Alt + F11", que lo llevarán al editor de VBA.
- A continuación, en la nueva ventana "Microsoft Visual Basic para aplicaciones", debe abrir un módulo que no está en uso.
- Posteriormente, copie y pegue el siguiente código VBA en este módulo.
Dim objTargetFolder As Outlook.folder
Sub BatchMoveEmailsFromSubfoldersToAnotherFolder()
Dim objSourceFolder As Outlook.folder
Dim objFolder As Outlook.folder
'Get the source folder whose subfolders to be processed
Set objSourceFolder = Application.Session.PickFolder
If Not (objSourceFolder Is Nothing) And objSourceFolder.DefaultItemType = olMailItem Then
If objSourceFolder.folders.count > 0 Then
'Select a target folder
Set objTargetFolder = Application.Session.PickFolder
If Not (objTargetFolder Is Nothing) Then
For Each objFolder In objSourceFolder.folders
Call ProcessFolders(objFolder)
Next
MsgBox "Move Completed!", vbExclamation
End If
Else
MsgBox "No subfolders!", vbExclamation
End If
End If
End Sub
Sub ProcessFolders(ByVal objFolder As Outlook.folder)
Dim i As Long
Dim objSubfolder As Outlook.folder
For i = objFolder.Items.count To 1 Step -1
'Move emails to the target folder
If objFolder.Items(i).Class = olMail Then
objFolder.Items(i).Move objTargetFolder
End If
Next
'Process subfolders recursively
If objFolder.folders.count > 0 Then
For Each objSubfolder In objFolder.folders
Call ProcessFolders(objSubfolder)
Next
End If
End Sub
- Después de eso, puede ejecutar esta macro.
- En primer lugar, en esta ventana macro, presione el botón de la tecla "F5".
- Luego, se le pedirá que elija una carpeta de origen cuyas subcarpetas se procesarán.
- Después de eso, debe especificar la carpeta de destino a la que desea mover los correos electrónicos.
- Posteriormente, esta macro comenzará a funcionar. Cuando finalice, recibirá un mensaje que indica "Completado".
- Finalmente, podrás acceder a la carpeta de destino. Verás que todos los correos electrónicos de las subcarpetas de la carpeta de origen se encuentran allí.
Restaurar datos de Outlook comprometidos
A pesar de contar con numerosas funciones, al igual que otros clientes de correo electrónico, Outlook tampoco puede escapar de la corrupción. Con más y más datos almacenados, Outlook será cada vez más propenso a errores y daños. Por lo tanto, debe tener a mano una potente herramienta de reparación, como DataNumen Outlook Repair. Está especialmente diseñado para arreglar Outlook cuestiones. Por lo tanto, puede escanear y restaurar archivos de Outlook dañados con facilidad y sin esfuerzo.
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 recuperación de mdf y productos de software de reparación de Outlook. Para más información visite www.datKanumen.com

