Tal vez haya almacenado varios correos electrónicos de Outlook en formato .msg en una carpeta de Windows. Y luego, si desea extraer los archivos adjuntos de estos archivos, puede utilizar la forma compartida en este artículo.
Es bastante fácil extraer archivos adjuntos de los correos electrónicos en Outlook. Pero ¿qué pasa con los correos electrónicos que se han exportado como archivos .msg en una carpeta de Windows? En general, primero debe abrir estos archivos .msg en su Outlook y luego guardar los archivos adjuntos uno por uno. Quizás lo sienta demasiado incómodo. Entonces, a continuación, te enseñaremos otra solución mucho más rápida.
Extraiga archivos adjuntos de todos los archivos de mensajes de Outlook en una carpeta de Windows
- Para empezar, inicie su aplicación Outlook y ejecute el editor de VBA.
- Luego, en la ventana "Microsoft Visual Basic para Aplicaciones", copie el código VBA a continuación en un módulo no utilizado.
Dim strAttachmentFolder As String
Sub ExtractAttachmentsFromEmailsStoredinWindowsFolder()
Dim objShell, objWindowsFolder As Object
'Select a Windows folder
Set objShell = CreateObject("Shell.Application")
Set objWindowsFolder = objShell.BrowseForFolder(0, "Select a Windows Folder:", 0, "")
If Not objWindowsFolder Is Nothing Then
'Create a new folder for saving extracted attachments
strAttachmentFolder = "E:\Attachments-" & Format(Now, "MMDDHHMMSS") & "\"
MkDir (strAttachmentFolder)
Call ProcessFolders(objWindowsFolder.self.Path & "\")
MsgBox "Completed!", vbInformation + vbOKOnly
End If
End Sub
Sub ProcessFolders(strFolderPath As String)
Dim objFileSystem As Object
Dim objFolder As Object
Dim objFiles As Object
Dim objFile As Object
Dim objItem As Object
Dim i As Long
Dim objSubFolder As Object
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFileSystem.GetFolder(strFolderPath)
Set objFiles = objFolder.Files
For Each objFile In objFiles
If objFileSystem.GetExtensionName(objFile) = "msg" Then
'Open the Outlook emails stored in Windows folder
Set objItem = Session.OpenSharedItem(objFile.Path)
If TypeName(objItem) = "MailItem" Then
If objItem.Attachments.Count > 0 Then
'Extract attachments
For i = objItem.Attachments.Count To 1 Step -1
objItem.Attachments(i).SaveAsFile strAttachmentFolder & objItem.Attachments(i).FileName
Next
End If
End If
End If
Next
'Process all subfolders recursively
If objFolder.SubFolders.Count > 0 Then
For Each objSubFolder In objFolder.SubFolders
If ((objSubFolder.Attributes And 2) = 0) And ((objSubFolder.Attributes And 4) = 0) Then
Call ProcessFolders(objSubFolder.Path)
End If
Next
End If
End Sub
- Posteriormente, mueva el cursor a la primera subrutina y presione la tecla "F5".
- Luego, se le pedirá que elija la carpeta de origen de Windows en el cuadro de diálogo emergente.
- Después de hacer clic en "Aceptar", la macro seguirá funcionando.
- Cuando termine, recibirá el mensaje "Completado".
- Ahora, puede obtener acceso a la carpeta local predefinida para guardar los archivos adjuntos extraídos.
Resuelva los problemas de Outlook de manera eficiente
Dado que Outlook es ciertamente propenso a errores, debe tener cuidado al tratar con objetos de Outlook, como nunca confiar en los archivos o enlaces incrustados en los correos electrónicos desconocidos, etc. De lo contrario, su archivo de Outlook puede corromperse fácilmente. En esa circunstancia, incluso la herramienta de reparación interna no será de mucha ayuda. A lo que puede recurrir es solo a una utilidad externa experimentada, como DataNumen Outlook Repair. Se puede arreglar PST archivo con facilidad 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 sql dañado y productos de software de reparación de Outlook. Para más información visite www.datanumen.com


