Comment exporter rapidement toutes les images jointes d'un e-mail Outlook vers une feuille de calcul Excel

Partage maintenant:

Si vous souhaitez exporter rapidement toutes les images jointes d'un e-mail Outlook vers une feuille de calcul Excel, vous pouvez vous référer à cet article. Ici, nous allons vous montrer un moyen plus efficace que l'exportation manuelle.

Lorsque vous recevez un courriel contenant de nombreuses images en pièces jointes, et que vous souhaitez les utiliser pour créer un rapport dans Excel, vous recherchez sans doute une méthode permettant d'exporter ces images par lots vers une feuille de calcul Excel. Nous allons vous présenter cette méthode ci-dessous.

Exporter rapidement toutes les pièces jointes d'image d'un e-mail Outlook vers une feuille de calcul Excel

Exporter toutes les images jointes d'un e-mail vers une feuille de calcul Excel

  1. Pour commencer, accédez à votre application Outlook de manière normale.
  2. Ensuite, dans la fenêtre Outlook, appuyez sur les raccourcis clavier "Alt + F11", ce qui fera apparaître la fenêtre "Microsoft Visual Basic pour Applications".
  3. Dans cet écran, vous devez ouvrir un module qui n'est pas utilisé ou en insérer un nouveau directement.
  4. Ensuite, vous devez copier le morceau de code VBA ci-dessous dans ce module.
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

Code VBA - Exporter toutes les pièces jointes d'image d'un e-mail vers une feuille de calcul Excel

  1. Après cela, vous pouvez quitter la macro.
  2. Ensuite, dirigez-vous vers "Fichier"> "Options"> "Barre d'outils d'accès rapide" pour ajouter cette macro à la barre d'outils d'accès rapide.
  3. Enfin, vous pouvez essayer cette macro dès maintenant.
  • Tout d'abord, sélectionnez ou ouvrez un e-mail source.
  • Ensuite, cliquez sur le bouton macro dans la barre d'outils d'accès rapide.
  • Une fois la macro terminée, vous obtiendrez une feuille de calcul Excel, illustrée comme la capture d'écran suivante :Feuille de calcul Excel exportée

Protégez le fichier Outlook contre la corruption

On sait qu'Outlook est sujet à la corruption. Par conséquent, nous devons comprendre comment protéger la corruption des formulaires Outlook. Tout d'abord, afin de bloquer les attaques de virus, il est nécessaire d'installer un logiciel antivirus et de ne jamais télécharger de pièce jointe inconnue. En outre, nous ferions mieux de nous procurer un outil de réparation puissant, tel que DataNumen Outlook RepairIl peut offrir le remède le plus efficace en cas de Corruption d'Outlook.

Introduction de l'auteur:

Shirley Zhang est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris récupération SQL et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datanumen.com

Partage maintenant:

Les commentaires sont fermés.