Cómo exportar rápidamente todos los archivos adjuntos de imágenes de un correo electrónico de Outlook a una hoja de cálculo de Excel

Comparte ahora:

Si desea exportar rápidamente todos los archivos adjuntos de imágenes de un correo electrónico de Outlook a una hoja de cálculo de Excel, puede consultar este artículo. Aquí le mostraremos una forma más efectiva que exportar manualmente.

Cuando recibe un correo electrónico que contiene ahost de archivos adjuntos de imágenes, si desea utilizarlos para hacer un informe en Excel, debe anhelar una forma que pueda exportar estas imágenes a una hoja de cálculo de Excel en lotes. Ahora, le presentaremos un enfoque de este tipo a continuación.

Exporte rápidamente todos los archivos adjuntos de imágenes de un correo electrónico de Outlook a una hoja de cálculo de Excel

Exportar todos los archivos adjuntos de imagen de un correo electrónico a una hoja de cálculo de Excel

  1. Para empezar, acceda a su aplicación Outlook de forma normal.
  2. Luego, en la ventana de Outlook, presione los accesos directos de las teclas "Alt + F11", que abrirán la ventana "Microsoft Visual Basic para Aplicaciones".
  3. En esta pantalla, debe abrir un módulo que no se está utilizando o insertar uno nuevo directamente.
  4. A continuación, debe copiar el fragmento de código VBA a continuación en este módulo.
Sub ExportAllImageAttachmentsToExcelWorksheet()
    Dim objSourceMail As Outlook.MailItem
    Dim objAttachment As Outlook.Attachment
    Dim strImage As String
    Dim objExcelApp As Excel.Application
    Dim objExcelWorkbook As Excel.Workbook
    Dim objExcelWorksheet As Excel.Worksheet
    Dim objFile As Object
    Dim objFiles As Object
    Dim nRow As Integer
 
    Select Case Outlook.Application.ActiveWindow.Class
           Case olInspector
                Set objSourceMail = ActiveInspector.currentItem
           Case olExplorer
                Set objSourceMail = ActiveExplorer.Selection.Item(1)
    End Select
 
    If Not (objSourceMail Is Nothing) Then
 
       'Save the image attachments to a temporary folder
       strTempFolder = Environ("Temp") & "\" & Format(Now, "yyyymmddhhmmss") & "\"
       MkDir (strTempFolder)
       Set objFileSystem = CreateObject("Scripting.FileSystemObject")
 
       For Each objAttachment In objSourceMail.Attachments
           If IsEmbedded(objAttachment) = False Then
              Select Case LCase(objFileSystem.GetExtensionName(objAttachment.filename))
                     Case "jpg", "jpeg", "png", "bmp", "gif"
                          objAttachment.SaveAsFile strTempFolder & objAttachment.filename
              End Select
           End If
       Next
 
       'Create a new Excel workbook
        Set objExcelApp = CreateObject("Excel.Application")
        Set objExcelWorkbook = objExcelApp.Workbooks.Add
        Set objExcelWorksheet = objExcelWorkbook.Sheets(1)
        objExcelApp.Visible = True
        objExcelWorkbook.Activate
 
        'Get the images in the temporary folder
        Set objFiles = objFileSystem.GetFolder(strTempFolder).Files
 
        'Insert the images into this new Excel worksheet
        For Each objFile In objFiles
            strImage = strTempFolder & Trim(objFile.Name)
            nRow = nRow + 1
            With objExcelWorksheet
                 .Range("A" & nRow).value = objFile.Name
                 'Change the height and width as per your needs
                 .Range("B" & nRow).ColumnWidth = 10
                 .Range("B" & nRow).RowHeight = 80
                 .Range("B" & nRow).Activate
                 With .Pictures.insert(strImage)
                      With .ShapeRange
                           .LockAspectRatio = msoTrue
                           .Width = 50
                           .Height = 70
                      End With
                 End With
                 .Columns("A").AutoFit
                 .Activate
            End With
       Next
    End If
End Sub

Function IsEmbedded(objCurAttachment As Outlook.Attachment) As Boolean
    Dim objPropertyAccessor As Outlook.propertyAccessor
    Dim strProperty As String
 
    Set objPropertyAccessor = objCurAttachment.propertyAccessor
    strProperty = objPropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001E")
 
    If InStr(1, strProperty, "@") > 0 Then
       IsEmbedded = True
    Else
       IsEmbedded = False
    End If
End Function

Código VBA: exporte todos los archivos adjuntos de imagen de un correo electrónico a una hoja de cálculo de Excel

  1. Después de eso, puede salir de la macro.
  2. Luego, diríjase a "Archivo"> ​​"Opciones"> "Barra de herramientas de acceso rápido" para agregar esta macro a la barra de herramientas de acceso rápido.
  3. Finalmente, puede probar esta macro ahora mismo.
  • En primer lugar, seleccione o abra un correo electrónico de origen.
  • Luego, haga clic en el botón de macro en la barra de herramientas de acceso rápido.
  • Cuando se complete la macro, obtendrá una hoja de cálculo de Excel, que se muestra como la siguiente captura de pantalla:Hoja de cálculo de Excel exportada

Proteja el archivo de Outlook para que no se corrompa

Se sabe que Outlook es propenso a la corrupción. Por lo tanto, debemos entender cómo proteger la corrupción de formularios de Outlook. En primer lugar, para bloquear los ataques de virus, es necesario instalar un software antivirus y nunca descargar archivos adjuntos desconocidos. Además, es mejor que consigamos una potente herramienta de reparación, como DataNumen Outlook Repair. Puede ofrecer most recurso efectivo en caso de Corrupción de Outlook.

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 sql 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.