Cum să exportați rapid toate atașamentele de imagine ale unui e-mail Outlook într-o foaie de lucru Excel

Distribuie acum:

Dacă doriți să exportați rapid toate atașamentele de imagine ale unui e-mail Outlook într-o foaie de lucru Excel, puteți consulta acest articol. Aici vă vom arăta o modalitate mai eficientă decât exportarea manuală.

Când primiți un e-mail care conține o mulțime de atașamente de imagini, dacă doriți să le utilizați pentru a crea un raport în Excel, trebuie să căutați o modalitate prin care să puteți exporta aceste imagini într-o foaie de calcul Excel în loturi. Acum, vă vom prezenta o astfel de abordare în cele ce urmează.

Exportați rapid toate atașamentele de imagine ale unui e-mail Outlook într-o foaie de lucru Excel

Exportați toate atașamentele de imagine ale unui e-mail într-o foaie de lucru Excel

  1. Pentru început, accesați aplicația Outlook în mod normal.
  2. Apoi, în fereastra Outlook, apăsați comenzile rapide ale tastelor „Alt + F11”, care vor afișa fereastra „Microsoft Visual Basic pentru aplicații”.
  3. În acest ecran, trebuie să deschideți un modul care nu este utilizat sau să introduceți unul nou direct.
  4. Apoi, ar trebui să copiați fragmentul de cod VBA de mai jos în acest modul.
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

Cod VBA - Exportați toate atașamentele de imagine ale unui e-mail într-o foaie de lucru Excel

  1. După aceea, puteți ieși din macro.
  2. Apoi, mergeți la „Fișier” > „Opțiuni” > „Bară de instrumente Acces rapid” pentru a adăuga această macrocomandă la Bara de instrumente Acces rapid.
  3. În cele din urmă, puteți încerca această macrocomandă chiar acum.
  • În primul rând, selectați sau deschideți un e-mail sursă.
  • Apoi, faceți clic pe butonul macro din Bara de instrumente Acces rapid.
  • Când macrocomandă se finalizează, veți obține o foaie de lucru Excel, afișată ca următoarea captură de ecran:Foaia de lucru Excel exportată

Protejați fișierul Outlook împotriva corupției

Se știe că Outlook este predispus la corupție. Prin urmare, ar trebui să înțelegem cum să protejăm corupția formularelor Outlook. În primul rând, pentru a bloca atacurile de viruși, este necesar să instalați software antivirus și să nu descărcați niciodată atașament necunoscut. În plus, este mai bine să obținem un instrument de reparare puternic, cum ar fi DataNumen Outlook RepairPoate oferi cel mai eficient remediu în caz de corupție Outlook.

Introducerea autorului:

Shirley Zhang este expertă în recuperarea datelor DataNumen, Inc., care este lider mondial în tehnologiile de recuperare a datelor, inclusiv recuperare sql și produse software de reparații Outlook. Pentru mai multe informații vizitați www.datanumen.com

Distribuie acum:

Comentariile sunt închise.