Cómo extraer rápidamente archivos adjuntos de todos los archivos de mensajes de Outlook en una carpeta de Windows

Comparte ahora:

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

  1. Para empezar, inicie su aplicación Outlook y ejecute el editor de VBA.
  2. 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

Código VBA: extraiga archivos adjuntos de todos los archivos de mensajes de Outlook en una carpeta de Windows

  1. Posteriormente, mueva el cursor a la primera subrutina y presione la tecla "F5".
  2. Luego, se le pedirá que elija la carpeta de origen de Windows en el cuadro de diálogo emergente.Seleccionar carpeta de Windows
  3. Después de hacer clic en "Aceptar", la macro seguirá funcionando.
  4. Cuando termine, recibirá el mensaje "Completado".
  5. Ahora, puede obtener acceso a la carpeta local predefinida para guardar los archivos adjuntos extraídos.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

Comparte ahora:

Los comentarios están cerrados.