A veces, es posible que desee exportar por lotes una carpeta de Outlook con todas las subcarpetas y elementos a una carpeta de Windows. Este artículo le enseñará un método de aplicación de Outlook VBA.
Cuando desee exportar una carpeta de Outlook a una unidad local con todos los elementos en la misma estructura de carpetas, si selecciona guardar y exportar manualmente, le llevará mucho tiempo. Entonces, ¿por qué no recurre a otros medios, como herramientas de exportación o códigos VBA? Aquí le mostraremos un fragmento de código VBA. Te permitirá lograrlo como una brisa.

Exportar todas las subcarpetas y elementos de una carpeta de Outlook a una carpeta de Windows
- Para empezar, inicie su programa Outlook.
- Luego, en la ventana principal de Outlook, presione las teclas de acceso directo "Alt + F11".
- Posteriormente, aparecerá la ventana "Microsoft Visual Basic para Aplicaciones".
- A continuación, debe abrir un módulo en blanco y copiar los siguientes códigos VBA en él.
Private objFileSystem As Object
Private Sub ExportFolderWithAllItems()
Dim objFolder As Outlook.Folder
Dim strPath As String
'Specify the root local folder
'Change it as per your needs
strPath = "E:\Outlook\"
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
'Select a Outlook PST file or Outlook folder
Set objFolder = Outlook.Application.Session.PickFolder
Call ProcessFolders(objFolder, strPath)
MsgBox "Complete", vbExclamation
End Sub
Private Sub ProcessFolders(objCurrentFolder As Outlook.Folder, strCurrentPath As String)
Dim objItem As Object
Dim strSubject, strFileName, strFilePath As String
Dim objSubfolder As Outlook.Folder
'Create the local folder based on the Outlook folder
strCurrentPath = strCurrentPath & objCurrentFolder.Name
objFileSystem.CreateFolder strCurrentPath
For Each objItem In objCurrentFolder.Items
strSubject = objItem.Subject
'Remove unsupported characters in the subject
strSubject = Replace(strSubject, "/", " ")
strSubject = Replace(strSubject, "\", " ")
strSubject = Replace(strSubject, ":", "")
strSubject = Replace(strSubject, "?", " ")
strSubject = Replace(strSubject, Chr(34), " ")
strFileName = strSubject & ".msg"
i = 0
Do Until False
strFilePath = strCurrentPath & "\" & strFileName
'Check if there exist a file in the same name
If objFileSystem.FileExists(strFilePath) Then
'Add a sequence order to the file name
i = i + 1
strFileName = strSubject & " (" & i & ").msg"
Else
Exit Do
End If
Loop
'Save as MSG file
objItem.SaveAs strFilePath, olMSG
Next
'Process subfolders recursively
If objCurrentFolder.folders.Count > 0 Then
For Each objSubfolder In objCurrentFolder.folders
Call ProcessFolders(objSubfolder, strCurrentPath & "\")
Next
End If
End Sub
- Después de eso, debe asegurarse de que Outlook permita macros en la configuración de macros.
- Eventualmente, puedes intentarlo.
- En primer lugar, volvamos a la nueva ventana de macro.
- A continuación, haga clic en la subrutina "ExportFolderWithAllItems".
- Luego presione el botón de la tecla F5 para ejecutar esta macro.
- Después de eso, debe seleccionar una carpeta específica.
- Por último, cuando recibe un mensaje que dice "Completo", puede acceder a la carpeta local predefinida. Verá que todos los elementos se han guardado en la misma estructura de carpetas.
Evite la pérdida de datos debido a bloqueos de Outlook
Quizás te hayas encontrado con muchos bloqueos de Outlook. La mayoría de las veces, después de reiniciar, Outlook podrá funcionar con normalidad. Sin embargo, también existe la posibilidad de que nuestro archivo PST se corrompa. En ese caso, intentarás recuperar tus datos PST, por ejemplo, recurriendo a una herramienta experimentada como DataNumen Outlook Repair. Es capaz de arreglar Outlook errores y extraer datos del archivo PST comprometido sin sudar.
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 SQL Server reparación y productos de software de reparación de Outlook. Para más información visite www.datanumen.com


