如何快速将 Outlook 电子邮件的所有图像附件导出到 Excel 工作表

立即分享:

如果想快速将一封Outlook邮件的所有图片附件导出到Excel工作表,可以参考这篇文章。 在这里,我们将向您展示一种比手动导出更有效的方法。

当您收到一封包含 ah 的电子邮件时ost 大量的图片附件,如果你想用它们在Excel中制作报告,你必须渴望有一种方法可以将这些图片批量导出到Excel工作表中。 现在,我们将在下面向您介绍这样一种方法。

快速将 Outlook 电子邮件的所有图像附件导出到 Excel 工作表

将电子邮件的所有图像附件导出到 Excel 工作表

  1. 首先,以正常方式访问您的 Outlook 应用程序。
  2. 然后,在 Outlook 窗口中,按“Alt + F11”快捷键,这将调出“Microsoft Visual Basic for Applications”窗口。
  3. 在此屏幕中,您需要打开一个未使用的模块或直接插入一个新模块。
  4. 接下来,您应该将下面的一段 VBA 代码复制到该模块中。
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 代码 - 将电子邮件的所有图像附件导出到 Excel 工作表

  1. 之后,您可以退出宏。
  2. 然后,前往“文件”>“选项”>“快速访问工具栏”将此宏添加到快速访问工具栏。
  3. 最后,您可以立即试用此宏。
  • 首先,选择或打开源电子邮件。
  • 然后,单击快速访问工具栏中的宏按钮。
  • 宏完成后,您将得到一个 Excel 工作表,如下图所示:导出的 Excel 工作表

保护 Outlook 文件免遭损坏

众所周知,Outlook 容易损坏。 因此,我们应该了解如何保护 Outlook 表单损坏。 首先,要阻止病毒的攻击,必须安装杀毒软件,千万不要下载不明附件。 此外,我们最好掌握一个强大的修复工具,例如 DataNumen Outlook Repair. 它可以提供ost 情况下的有效补救措施 前景腐败.

作者简介:

Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 sql恢复 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。