So exportieren Sie schnell alle Bildanhänge einer Outlook-E-Mail in ein Excel-Arbeitsblatt

Jetzt teilen:

Wenn Sie alle Bildanhänge einer Outlook-E-Mail schnell in ein Excel-Arbeitsblatt exportieren möchten, lesen Sie diesen Artikel. Hier zeigen wir Ihnen einen effektiveren Weg als das manuelle Exportieren.

Wenn Sie eine E-Mail mit zahlreichen Bildanhängen erhalten und diese für einen Bericht in Excel verwenden möchten, benötigen Sie eine Möglichkeit, die Bilder stapelweise in ein Excel-Arbeitsblatt zu exportieren. Im Folgenden stellen wir Ihnen eine solche Methode vor.

Exportieren Sie schnell alle Bildanhänge einer Outlook-E-Mail in ein Excel-Arbeitsblatt

Exportieren Sie alle Bildanhänge einer E-Mail in ein Excel-Arbeitsblatt

  1. Greifen Sie zunächst wie gewohnt auf Ihre Outlook-Anwendung zu.
  2. Drücken Sie dann im Outlook-Fenster die Tastenkombinationen „Alt + F11“, um das Fenster „Microsoft Visual Basic für Applikationen“ aufzurufen.
  3. In diesem Bildschirm müssen Sie ein Modul öffnen, das nicht verwendet wird, oder ein neues Modul direkt einfügen.
  4. Als nächstes sollten Sie den folgenden VBA-Code in dieses Modul kopieren.
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

VBA-Code - Exportieren Sie alle Bildanhänge einer E-Mail in ein Excel-Arbeitsblatt

  1. Danach können Sie das Makro beenden.
  2. Gehen Sie dann zu "Datei"> "Optionen"> "Symbolleiste für den Schnellzugriff", um dieses Makro zur Symbolleiste für den Schnellzugriff hinzuzufügen.
  3. Schließlich können Sie dieses Makro jetzt ausprobieren.
  • Wählen Sie zunächst eine Quell-E-Mail aus oder öffnen Sie sie.
  • Klicken Sie dann in der Symbolleiste für den Schnellzugriff auf die Makroschaltfläche.
  • Wenn das Makro abgeschlossen ist, erhalten Sie ein Excel-Arbeitsblatt, das wie im folgenden Screenshot dargestellt ist:Exportiertes Excel-Arbeitsblatt

Schützen Sie die Outlook-Datei vor Beschädigung

Es ist bekannt, dass Outlook anfällig für Korruption ist. Daher sollten wir verstehen, wie Sie die Outlook-Formularbeschädigung schützen können. Um Virenangriffe zu blockieren, müssen Sie zunächst eine Antivirensoftware installieren und niemals unbekannte Anhänge herunterladen. Außerdem ist es besser, ein leistungsfähiges Reparaturwerkzeug zu beschaffen, wie z DataNumen Outlook RepairEs kann im Falle von Outlook-Korruption.

Einführung des Autors:

Shirley Zhang ist eine Datenrettungsexpertin in DataNumen, Inc., das weltweit führend bei Datenwiederherstellungstechnologien ist, einschließlich SQL-Wiederherstellung und Outlook-Reparatursoftwareprodukte. Für weitere Informationen besuchen Sie www.datanumen.com €XNUMX

Jetzt teilen:

Kommentare sind geschlossen.