Como exportar rapidamente todos os anexos de imagem de um e-mail do Outlook para uma planilha do Excel

Compartilhe agora:

Se você deseja exportar rapidamente todos os anexos de imagem de um e-mail do Outlook para uma planilha do Excel, consulte este artigo. Aqui, mostraremos uma maneira mais eficaz do que exportar manualmente.

Ao receber um e-mail com vários anexos de imagem, se você quiser usá-los para criar um relatório no Excel, precisará de uma maneira de exportar essas imagens para uma planilha do Excel em lotes. A seguir, apresentaremos uma solução desse tipo.

Exporte rapidamente todos os anexos de imagem de um e-mail do Outlook para uma planilha do Excel

Exportar todos os anexos de imagem de um e-mail para uma planilha do Excel

  1. Para começar, acesse seu aplicativo Outlook normalmente.
  2. Em seguida, na janela do Outlook, pressione os atalhos de tecla “Alt + F11”, que abrirão a janela “Microsoft Visual Basic for Applications”.
  3. Nesta tela, você precisa abrir um módulo que não está sendo utilizado ou inserir um novo diretamente.
  4. Em seguida, você deve copiar o trecho de código VBA abaixo para 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 - Exportar todos os anexos de imagem de um e-mail para uma planilha do Excel

  1. Depois disso, você pode sair da macro.
  2. Em seguida, vá para “Arquivo” > “Opções” > “Barra de Ferramentas de Acesso Rápido” para adicionar esta macro à Barra de Ferramentas de Acesso Rápido.
  3. Por fim, você pode experimentar esta macro agora mesmo.
  • Em primeiro lugar, selecione ou abra um e-mail de origem.
  • Em seguida, clique no botão de macro na Barra de Ferramentas de Acesso Rápido.
  • Quando a macro for concluída, você obterá uma planilha do Excel, mostrada como na captura de tela a seguir:Planilha do Excel exportada

Proteja o arquivo do Outlook contra corrupção

Sabe-se que o Outlook é propenso a corrupção. Portanto, devemos entender como proteger a corrupção do formulário do Outlook. Em primeiro lugar, para bloquear ataques de vírus, é necessário instalar um software antivírus e nunca baixar anexos desconhecidos. Além disso, é melhor conseguirmos uma ferramenta de reparo potente, como DataNumen Outlook RepairPode oferecer a solução mais eficaz em caso de Corrupção do Outlook.

Introdução do autor:

Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo recuperação sql e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com

Compartilhe agora:

Comentários estão fechados.