电子邮件到达 Outlook 时如何自动打印附件?
本教程演示了一种结合 VBA 脚本和 Outlook 规则的方法,以帮助您在某些电子邮件到达 Outlook 时自动打印它们的附件。
某些电子邮件到达时自动打印附件
假设您想自动打印来自某个发件人的传入电子邮件的附件。 您可以执行以下操作来完成它。
第 1 步:在 Outlook 中创建脚本
首先,您需要在 Outlook 中创建一个 VBA 脚本。
1.启动Outlook,按 其他 + F11 同时打开 Microsoft Visual Basic应用程序 窗口。
2。 在里面 Microsoft Visual Basic应用程序 窗口,双击 Project1 > Microsoft Outlook对象 > 本次展望会议 打开 ThisOutlookSession(代码) 窗口,然后将以下代码复制到此代码窗口中。
VBA 代码 1:电子邮件到达时自动打印附件(所有类型的附件)
Sub AttachementAutoPrint(Item As Outlook.MailItem)
'Updated by Extendoffice 20220413
Dim xFS As FileSystemObject
Dim xTempFolder As String
Dim xAtt As Attachment
On Error Resume Next
Set xFS = New FileSystemObject
xTempFolder = xFS.GetSpecialFolder(TemporaryFolder)
xTempFolder = xTempFolder & "\ATMP" & Format(Now, "yyyymmddhhmmss")
MkDir (xTempFolder)
'Set Item = Application.ActiveExplorer.Selection.Item(1)
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.NameSpace(0)
For Each xAtt In Item.Attachments
xFileName = xAtt.FileName
xFileType = LCase$(Right$(xFileName, 4))
xFileName = xTempFolder & "\" & xFileName
xAtt.SaveAsFile (xFileName)
Set xFolderItem = xFolder.ParseName(xFileName)
xFolderItem.InvokeVerbEx ("print")
Next xAtt
'xFS.DeleteFolder (xTempFolder)
Set xFS = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
Set xShell = Nothing
xError:
If Err <> 0 Then
MsgBox Err.Number & " - " & Err.Description, , "Kutools for Outlook"
Err.Clear
End If
Exit Sub
End Sub
请注意: 此代码支持打印电子邮件中收到的所有类型的附件。 如果您只想打印指定类型的附件,例如 pdf 文件,请应用以下 VBA 代码。
VBA代码2:邮件到达时自动打印指定类型的附件
Sub AttachementAutoPrint(Item As Outlook.MailItem)
'Updated by Extendoffice 20220413
Dim xFS As FileSystemObject
Dim xTempFolder As String
Dim xAtt As Attachment
On Error Resume Next
Set xFS = New FileSystemObject
xTempFolder = xFS.GetSpecialFolder(TemporaryFolder)
xTempFolder = xTempFolder & "\ATMP" & Format(Now, "yyyymmddhhmmss")
MkDir (xTempFolder)
'Set Item = Application.ActiveExplorer.Selection.Item(1)
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.NameSpace(0)
For Each xAtt In Item.Attachments
xFileName = xAtt.FileName
xFileType = LCase$(Right$(xFileName, 4))
xFileName = xTempFolder & "\" & xFileName
xAtt.SaveAsFile (xFileName)
Select Case xFileType
Case "pdf" ‘change “pdf” to the file extension you want to print
Set xFolderItem = xFolder.ParseName(xFileName)
xFolderItem.InvokeVerbEx ("print")
End Select
Next xAtt
'xFS.DeleteFolder (xTempFolder)
Set xFS = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
Set xShell = Nothing
xError:
If Err <> 0 Then
MsgBox Err.Number & " - " & Err.Description, , "Kutools for Outlook"
Err.Clear
End If
Exit Sub
End Sub
请注意: 在行 案例“pdf”, 请更换 “PDF” 到要打印的文件扩展名。
3. 继续点击 鑫安工具 > 引用。 在弹出 参考 - 项目1 对话框,检查 Microsoft脚本运行时 框,然后单击 OK 按钮。
4.保存代码,然后按 其他 + Q 关闭键 Microsoft Visual Basic应用程序 窗口。
请注意: 请确保 启用所有宏 Outlook 中启用了该选项。 您可以按照下面显示的步骤检查此选项。
Step2:构建规则以使用脚本
在 Outlook 中添加 VBA 脚本后,您需要创建规则以根据某些条件使用该脚本。
1. 转到主页选项卡,单击 规则 > 管理规则和警报.
2。 在里面 规则和警报 对话框中,单击 新规则 按钮以创建规则。
提示: 如果您在 Outlook 中添加了多个电子邮件帐户,请在 将更改应用到此文件夹 要应用规则的下拉列表。 否则,它将应用于当前选择的电子邮件帐户的收件箱。
3.在第一 规则向导 对话框中选择 对我收到的消息应用规则 在 步骤 框,然后单击 下一步。
4.在第二 规则向导 对话框,您需要:
5.在第三 规则向导 对话框,您需要配置如下。
提示: 如果“运行脚本” 选项在您的 规则向导,您可以按照本文中提到的方法进行显示: 恢复 Outlook 规则中缺少的运行脚本选项.
6.然后另一个 规则向导 弹出询问例外情况。 如有必要,您可以选择例外,否则,单击 下一页 没有任何选择的按钮。
7.最后 规则向导,您需要为规则指定一个名称,然后单击 结束通话 按钮。
8.然后返回到 规则和警报 对话框,你可以看到你创建的规则列在里面,点击 OK 按钮以完成整个设置。
从现在开始,当收到来自指定人员的电子邮件时,将自动打印附件。
相关文章
仅从一封电子邮件或 Outlook 中选定的电子邮件打印附件
在 Outlook 中,您可以打印电子邮件,但您是否只打印了一封电子邮件或 Outlook 中选定电子邮件的附件? 本文介绍解决此工作的技巧。
在 Outlook 中仅打印电子邮件的邮件标题
在 Outlook 中打印电子邮件时,它将同时打印电子邮件中的邮件标题和邮件正文。 但是,在某些特殊情况下,您可能只需要打印出带有主题、发件人、收件人等的邮件标题。本文将介绍两种解决方案。
在 Outlook 的指定/自定义日期范围内打印日历
通常,在 Outlook 的月视图中打印日历时,它会自动选择包含当前选定日期的月份。 但是,您可能需要在自定义日期范围内打印日历,例如 3 个月、半年等。本文将为您介绍解决方案。
在 Outlook 中打印带图片的联系人
通常,在Outlook中打印联系人时,不会将其图片打印出来。 但是有时,打印带有图片的联系人会给人留下深刻的印象。 本文将介绍一些解决方法来完成它。
在 Outlook 中打印电子邮件的选择
如果您收到一封电子邮件,并且发现需要打印一些电子邮件内容,而不是打印整个邮件,您将怎么办? 实际上,Outlook可以借助Internet浏览器(例如Firefox和Internet Explorer)帮助您实现此操作。 在这里,我将以Internet浏览器为例。 请查看以下教程。
Kutools for Outlook-为Outlook带来100个高级功能,并使工作更加轻松!
- 自动CC / BCC 根据规则发送电子邮件; 自动转发 自定义多封电子邮件; 自动回复 没有交换服务器,还有更多自动功能...
- BCC警告 -当您尝试全部答复时显示消息 如果您的邮件地址在“密件抄送”列表中; 缺少附件时提醒,还有更多提醒功能...
- 在邮件对话中回复(全部)带有所有附件; 回复许多电子邮件 很快; 自动添加问候语 回复时将日期添加到主题中...
- 附件工具:管理所有邮件中的所有附件, 自动分离, 全部压缩,全部重命名,全部保存...快速报告, 计算选定的邮件...
- 强大的垃圾邮件 习俗 删除重复的邮件和联系人... 使您能够在Outlook中做得更聪明,更快和更好。

