如果想快速将一封Outlook邮件的所有图片附件导出到Excel工作表,可以参考这篇文章。 在这里,我们将向您展示一种比手动导出更有效的方法。
当您收到一封包含 ah 的电子邮件时ost 大量的图片附件,如果你想用它们在Excel中制作报告,你必须渴望有一种方法可以将这些图片批量导出到Excel工作表中。 现在,我们将在下面向您介绍这样一种方法。

将电子邮件的所有图像附件导出到 Excel 工作表
- 首先,以正常方式访问您的 Outlook 应用程序。
- 然后,在 Outlook 窗口中,按“Alt + F11”快捷键,这将调出“Microsoft Visual Basic for Applications”窗口。
- 在此屏幕中,您需要打开一个未使用的模块或直接插入一个新模块。
- 接下来,您应该将下面的一段 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
- 之后,您可以退出宏。
- 然后,前往“文件”>“选项”>“快速访问工具栏”将此宏添加到快速访问工具栏。
- 最后,您可以立即试用此宏。
- 首先,选择或打开源电子邮件。
- 然后,单击快速访问工具栏中的宏按钮。
- 宏完成后,您将得到一个 Excel 工作表,如下图所示:
保护 Outlook 文件免遭损坏
众所周知,Outlook 容易损坏。 因此,我们应该了解如何保护 Outlook 表单损坏。 首先,要阻止病毒的攻击,必须安装杀毒软件,千万不要下载不明附件。 此外,我们最好掌握一个强大的修复工具,例如 DataNumen Outlook Repair. 它可以提供ost 情况下的有效补救措施 前景腐败.
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 sql恢复 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

