Come esportare rapidamente tutti gli allegati immagine di un'e-mail di Outlook in un foglio di lavoro Excel

Condividi ora:

Se desideri esportare rapidamente tutti gli allegati immagine di un'e-mail di Outlook in un foglio di lavoro Excel, puoi fare riferimento a questo articolo. Qui ti mostreremo un modo più efficace rispetto all'esportazione manuale.

Quando si riceve un'e-mail contenente numerosi allegati immagine, se si desidera utilizzarli per creare un report in Excel, è spesso necessario trovare un modo per esportare queste immagini in blocco in un foglio di calcolo Excel. Di seguito, illustreremo una soluzione di questo tipo.

Esporta rapidamente tutti gli allegati immagine di un'e-mail di Outlook in un foglio di lavoro Excel

Esporta tutti gli allegati immagine di un'e-mail in un foglio di lavoro Excel

  1. Per cominciare, accedi alla tua applicazione Outlook in modo normale.
  2. Quindi, nella finestra di Outlook, premi i tasti di scelta rapida "Alt + F11", che visualizzeranno la finestra "Microsoft Visual Basic for Applications".
  3. In questa schermata è necessario aprire un modulo che non è in uso o inserirne direttamente uno nuovo.
  4. Successivamente, dovresti copiare il pezzo di codice VBA qui sotto in questo modulo.
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

Codice VBA: esporta tutti gli allegati di immagine di un'e-mail in un foglio di lavoro Excel

  1. Successivamente, puoi uscire dalla macro.
  2. Quindi, vai su "File"> "Opzioni"> "Barra di accesso rapido" per aggiungere questa macro alla barra di accesso rapido.
  3. Finalmente puoi provare questa macro adesso.
  • Innanzitutto, seleziona o apri un'e-mail di origine.
  • Quindi, fai clic sul pulsante macro nella barra di accesso rapido.
  • Al termine della macro, otterrai un foglio di lavoro Excel, mostrato come il seguente screenshot:Foglio di lavoro Excel esportato

Proteggi il file di Outlook dal danneggiamento

È noto che Outlook è soggetto a corruzione. Pertanto, dovremmo capire come proteggere la corruzione dei moduli di Outlook. Prima di tutto, per bloccare gli attacchi dei virus, è necessario installare un software antivirus e non scaricare mai allegati sconosciuti. Inoltre, faremmo meglio a procurarci un potente strumento di riparazione, come ad esempio DataNumen Outlook RepairPuò offrire il rimedio più efficace in caso di Corruzione di Outlook.

Introduzione dell'autore:

Shirley Zhang è un'esperta di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui ripristino sql e prodotti software di riparazione di Outlook. Per maggiori informazioni visita www.datanumen.com

Condividi ora:

I commenti sono chiusi.