如何在Outlook中以一封/多封电子邮件打印所有附件?
如您所知,当您单击电子邮件时,它将仅打印电子邮件内容,例如标题,正文 文件 > 打印 在Microsoft Outlook中,但不打印附件。 在这里,我们将向您展示如何在Microsoft Outlook中轻松打印所选电子邮件中的所有附件。
一张一张打印一封电子邮件中的所有附件
Microsoft Outlook为我们提供了 快速打印 功能,可以帮助您一一打印电子邮件中的附件。
1。 选择您稍后将打印附件的电子邮件。
2。 单击此电子邮件中的一个附件。
3。 点击 快速打印 按钮在 行动 组上 附件 标签。
注意: 附件工具 在您单击电子邮件中的附件之前,不会激活它。
4. 出现打开邮件附件对话框,请单击 可选 按钮。
请注意,此步骤将打开选定的附件,并同时打印此选定的附件。
要打印此电子邮件中的其他附件,请重复步骤2至步骤4。
在Outlook中快速保存/导出多封电子邮件中的所有附件
通常,我们可以通过激活以下电子邮件来保存一封电子邮件中的附件 附件工具 并应用 保存所有附件 Outlook 中的功能。但是,如果保存多封电子邮件或 Outlook 中整个邮件文件夹的附件该怎么办?尝试 Outlook 的 Kutools 全部保存 (附件)功能。
批量打印一封电子邮件中的所有附件
如果一封电子邮件中有很多附件,则要逐个打印它们会很耗时。 以下方法将引导您轻松批量打印所选电子邮件中的所有附件。
1。 选择您稍后将打印附件的电子邮件。
2。 在Outlook 2010或更高版本中,请单击 文件 > 打印 > 列印选项。 请参见以下屏幕截图:
3. 在打印对话框中,请检查 打印附件。 附件将仅打印到默认打印机 在选项 打印选项 部分。
4。 点击 打印 按钮。
5。 在弹出的打开邮件附件对话框中,请单击 可选 按钮继续。 (备注:此对话框将分别为每个附件弹出。)
现在将立即打印此选定电子邮件中的所有附件。
批量打印多个选定电子邮件中的所有附件和图片
要在 Outlook 中打印多封电子邮件中的所有附件以及邮件正文中的所有图片,请按照以下步骤应用 VBA 代码。
1。 在邮件列表中,请按住 按Ctrl or 转移 键选择要打印附件的多封电子邮件。
2。 按 其他 + F11 键一起打开Microsoft Visual Basic for Applications窗口。
3。 在“ Microsoft Visual Basic for Applications”窗口中,单击“ 工具 > 参考资料。 然后检查 Microsoft脚本运行时 选项如下图。 完成后,单击 OK.
4。 点击 插页 > 模块,然后将以下VBA代码粘贴到新的模块窗口中。
VBA:打印多封Outlook电子邮件中的所有附件
Sub PrintAllAttachmentsInMultipleMails()
'Update by ExtendOffice 2022/08/03
Dim xShellApp As Object
Dim xFSO As Scripting.FileSystemObject
Dim xItem As Object
Dim xTempFldPath, xFilePath As String
Dim xSelItems As Outlook.Selection
Dim xMailItem As Outlook.MailItem
Dim xAttachments As Outlook.Attachments
Dim xAttachment As Outlook.Attachment
Dim xFile As File
On Error Resume Next
Set xFSO = New Scripting.FileSystemObject
xTempFldPath = xFSO.GetSpecialFolder(2).Path & "\Attachments " & Format(Now, "yyyymmddhhmmss") 'xFSO.GetSpecialFolder(2) For saving temporary files
If xFSO.FolderExists(xTemfldpath) = False Then 'create temporary folder
xFSO.CreateFolder (xTempFldPath)
End If
Set xSelItems = Outlook.ActiveExplorer.Selection
Set xShellApp = CreateObject("Shell.Application")
For Each xItem In xSelItems
If xItem.Class = OlObjectClass.olMail Then
Set xMailItem = xItem
Set xAttachments = xMailItem.Attachments
For Each xAttachment In xAttachments
xFilePath = xTempFldPath & "\" & xAttachment.FileName
xAttachment.SaveAsFile (xFilePath)
Next
End If
Next
For Each xFile In xFSO.GetFolder(xTempFldPath).Files
VBA.DoEvents
Call xShellApp.ShellExecute(xFile.Path, "", "", "print", 0)
Next
Set xSelItems = Nothing
Set xShellApp = Nothing
Set xFSO = Nothing
End Sub
5。 按 F5 键或单击 运行 按钮运行此 VBA 代码。 现在您将看到所选电子邮件中的所有附件和消息正文中的图片都已打印出来。
请注意:
- 每个图像都会弹出一个对话框,要求您确认打印。 而其他类型的文件将直接打印。
- 如果电子邮件签名中有图像,它们也会弹出对话框。
- 如果你得到 此项目中的宏已禁用 错误,请查看本教程: 如何在 Outlook 中启用和禁用宏?
批量打印多个选定电子邮件中的所有附件,正文中的图片除外
要在 Outlook 中仅打印多封电子邮件中的附件,而在邮件正文中打印图片,请按照以下步骤应用 VBA 代码。
1。 在邮件列表中,请按住 按Ctrl or 转移 键选择要打印附件的多封电子邮件。
2。 按 其他 + F11 键一起打开Microsoft Visual Basic for Applications窗口。
3。 在“ Microsoft Visual Basic for Applications”窗口中,单击“ 工具 > 参考资料。 然后检查 Microsoft脚本运行时 选项如下图。 完成后,单击 OK.
4。 点击 插页 > 模块,然后将以下VBA代码粘贴到新的模块窗口中。
VBA:打印多封Outlook电子邮件中的所有附件
Sub PrintAllAttachmentsInMultipleMails()
'Update by ExtendOffice 2022/08/05
Dim xShellApp As Object
Dim xFSO As Scripting.FileSystemObject
Dim xItem As Object
Dim xTempFldPath, xFilePath As String
Dim xSelItems As Outlook.Selection
Dim xMailItem As Outlook.MailItem
Dim xAttachments As Outlook.Attachments
Dim xAttachment As Outlook.Attachment
Dim xFile As File
On Error Resume Next
Set xFSO = New Scripting.FileSystemObject
xTempFldPath = xFSO.GetSpecialFolder(2).Path & "\Attachments " & Format(Now, "yyyymmddhhmmss") 'xFSO.GetSpecialFolder(2) For saving temporary files
If xFSO.FolderExists(xTemfldpath) = False Then 'create temporary folder
xFSO.CreateFolder (xTempFldPath)
End If
Set xSelItems = Outlook.ActiveExplorer.Selection
Set xShellApp = CreateObject("Shell.Application")
For Each xItem In xSelItems
If xItem.Class = OlObjectClass.olMail Then
Set xMailItem = xItem
Set xAttachments = xMailItem.Attachments
For Each xAttachment In xAttachments
If IsEmbeddedAttachment(xAttachment) = False Then
xFilePath = xTempFldPath & "\" & xAttachment.FileName
xAttachment.SaveAsFile (xFilePath)
Debug.Print xFilePath
End If
Next
End If
Next
For Each xFile In xFSO.GetFolder(xTempFldPath).Files
VBA.DoEvents
Call xShellApp.ShellExecute(xFile.Path, "", "", "print", 0)
Next
Set xSelItems = Nothing
Set xShellApp = Nothing
Set xFSO = Nothing
End Sub
Function IsEmbeddedAttachment(Attach As Attachment)
Dim xItem As MailItem
Dim xCid As String
Dim xID As String
Dim xHtml As String
On Error Resume Next
IsEmbeddedAttachment = False
Set xItem = Attach.Parent
If xItem.BodyFormat <> olFormatHTML Then Exit Function
xCid = ""
xCid = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCid <> "" Then
xHtml = xItem.HTMLBody
xID = "cid:" & xCid
If InStr(xHtml, xID) > 0 Then
IsEmbeddedAttachment = True
End If
End If
End Function
5。 按 F5 键或单击 运行 按钮运行此 VBA 代码。 现在您将看到所选电子邮件中的所有附件都已打印出来。
请注意:
- 每个附加的图像都会弹出一个对话框,要求您确认打印。 而其他类型的文件将直接打印。
- 不会打印邮件正文中的图像。
- 如果你得到 此项目中的宏已禁用 错误,请查看本教程: 如何在 Outlook 中启用和禁用宏?
演示:在Outlook电子邮件中打印一个或所有附件
Tips:: 在这个视频里, 库工具 选项卡添加者 Kutools for Outlook。 如果需要,请单击 了解更多 免费试用60天!
最佳办公生产力工具
Kutools for Outlook - 超过 100 种强大功能可增强您的 Outlook
🤖 人工智能邮件助手: 具有人工智能魔力的即时专业电子邮件——一键天才回复、完美语气、多语言掌握。轻松改变电子邮件! ...
📧 电子邮件自动化: 外出(适用于 POP 和 IMAP) / 安排发送电子邮件 / 发送电子邮件时按规则自动抄送/密件抄送 / 自动转发(高级规则) / 自动添加问候语 / 自动将多收件人电子邮件拆分为单独的消息 ...
📨 电子邮件管理: 轻松回忆电子邮件 / 按主题和其他人阻止诈骗电子邮件 / 删除重复的电子邮件 / 高级搜索 / 合并文件夹 ...
📁 附件专业版: 批量保存 / 批量分离 / 批量压缩 / 自动保存 / 自动分离 / 自动压缩 ...
🌟 界面魔法: 😊更多又漂亮又酷的表情符号 / 使用选项卡式视图提高 Outlook 工作效率 / 最小化 Outlook 而不是关闭 ...
👍 一键奇迹: 使用传入附件回复全部 / 反网络钓鱼电子邮件 / 🕘显示发件人的时区 ...
👩🏼🤝👩🏻 通讯录和日历: 从选定的电子邮件中批量添加联系人 / 将联系人组拆分为各个组 / 删除生日提醒 ...
超过 100特点 等待您的探索! 单击此处了解更多。