跳至主要内容

如何在Outlook中批量将多封邮件转换为PDF文件?

Author: Sun Last Modified: 2025-05-07

在Outlook中,另存为功能只能将邮件保存为HTML、TXT、MHT、MSG和模板格式的文件。如果你想将邮件转换为PDF文件,该如何操作呢?本文介绍了几种解决此问题的方法。

使用打印功能将一封邮件转换为PDF文件

使用“另存为文件”工具将批量邮件转换为单独的PDF文件good idea3

使用VBA将一封邮件转换为PDF文件


使用打印功能将一封邮件转换为PDF文件

在Outlook中,你可以使用打印功能将一封邮件保存为PDF文件。

1. 选择要转换为PDF的邮件,点击 文件 > 打印,从打印机下拉列表中选择 Microsoft Print to PDF,然后点击 打印

doc batch convert email to pdf 1

2. 在“保存打印输出为”对话框中,选择一个路径来放置文件,并为其命名。

batch-convert-email-to-pdf-with-print

3. 点击 保存,然后点击 取消 停止打印。

batch-convert-email-to-pdf-with-print

现在,选中的邮件已转换为PDF文件。

注意:此方法仅适用于Outlook 2016。


Outlook中的AI邮件助手:更智能的回复,更清晰的沟通(一键搞定!) 免费

使用Kutools for Outlook的AI邮件助手简化您的日常Outlook任务。这一强大工具会从您过去的邮件中学习,提供智能化且精准的回复建议,优化您的邮件内容,并帮助您轻松起草和润色邮件。
doc ai email handle

该功能支持:

  • 智能回复:根据您以往的对话生成量身定制、精准且即用的回复。
  • 增强内容:自动优化您的邮件文本,使其更加清晰且有影响力。
  • 轻松撰写:只需提供关键字,AI即可完成其余工作,并支持多种写作风格。
  • 智能扩展:通过上下文感知的建议扩展您的思路。
  • 总结概括:快速获取长邮件的简洁概述。
  • 全球覆盖:轻松将您的邮件翻译成任何语言。

该功能支持:

  • 智能邮件回复
  • 优化后的内容
  • 基于关键字的草稿
  • 智能内容扩展
  • 邮件总结
  • 多语言翻译

最重要的是,此功能永久完全免费不要再犹豫了——立即下载AI邮件助手并体验吧


使用“另存为文件”工具将批量邮件转换为单独的PDF文件

通过上述方法,你一次只能将一封邮件保存为PDF文件。如果想批量将多封邮件转换为单独的PDF文件,可以尝试使用 Kutools for Outlook将选中的邮件另存为多种格式(如PDF)文件 工具。

 👉 Kutools for Outlook 现在有了免费版本,其中 70+ 项功能终身免费。立即下载免费版本

免费安装 Kutools for Outlook,然后按照以下步骤操作:

1. 选择要转换的邮件,然后点击 Kutools > 批量处理 > 选中的邮件另存为多种格式(如PDF)文件

click-save-selected-messages-as-files

2. 在“ 将邮件另存为其他文件”对话框中,选择一个路径来定位文件,并勾选 PDF 格式选项,你可以在右侧部分勾选有关保存正文内容的选项。

save-as-pdf-with-kto

3. 点击 确定

现在,这些邮件已被转换为PDF文件。

save-as-pdf-with-kto
 

使用VBA将一封邮件转换为PDF文件

如果你正在使用Outlook 2007或2010,可以通过应用VBA代码将一封邮件转换为PDF文件。

1. 选择一封邮件,按下 Alt + F11 键以启用 Microsoft Visual Basic for Applications 窗口。

2. 点击 插入 > 模块,并将以下代码粘贴到模块脚本中。

VBA:将邮件转换为PDF

Sub SaveAsPDFfile()
'UpdatebyExtendoffice
Dim MyOlNamespace As NameSpace
Dim MySelectedItem As MailItem
Dim Response As String
Dim FSO As Object, TmpFolder As Object
Dim tmpFileName As String
Dim wrdApp As Object
Dim wrdDoc As Object
Dim bStarted As Boolean
Dim dlgSaveAs As FileDialog
Dim fdfs As FileDialogFilters
Dim fdf As FileDialogFilter
Dim i As Integer
Dim WshShell As Object
Dim SpecialPath As String
Dim msgFileName As String
Dim strCurrentFile As String
Dim strName As String
Dim oRegEx As Object
Dim intPos As Long
Set MyOlNamespace = Application.GetNamespace("MAPI")
Set MySelectedItem = ActiveExplorer.Selection.Item(1)
Set FSO = CreateObject("Scripting.FileSystemObject")
tmpFileName = FSO.GetSpecialFolder(2)
strName = "email_temp.mht"
tmpFileName = tmpFileName & "\" & strName
MySelectedItem.SaveAs tmpFileName, 10
On Error Resume Next
Set wrdApp = GetObject(, "Word.Application")
If Err Then
Set wrdApp = CreateObject("Word.Application")
bStarted = True
End If
On Error GoTo 0
Set wrdDoc = wrdApp.Documents.Open(FileName:=tmpFileName, Visible:=False, Format:=7)
Set dlgSaveAs = wrdApp.FileDialog(msoFileDialogSaveAs)
Set fdfs = dlgSaveAs.Filters
i = 0
For Each fdf In fdfs
i = i + 1
If InStr(1, fdf.Extensions, "pdf", vbTextCompare) > 0 Then
Exit For
End If
Next fdf
dlgSaveAs.FilterIndex = i
Set WshShell = CreateObject("WScript.Shell")
SpecialPath = WshShell.SpecialFolders(16)
msgFileName = MySelectedItem.Subject
Set oRegEx = CreateObject("vbscript.regexp")
oRegEx.Global = True
oRegEx.Pattern = "[\/:*?""<>|]"
msgFileName = Trim(oRegEx.Replace(msgFileName, ""))
dlgSaveAs.InitialFileName = SpecialPath & "\" & msgFileName
If dlgSaveAs.Show = -1 Then
strCurrentFile = dlgSaveAs.SelectedItems(1)
If Right(strCurrentFile, 4) <> ".pdf" Then
Response = MsgBox("Sorry, only saving in the pdf-format is supported." & _
vbNewLine & vbNewLine & "Save as pdf instead?", vbInformation + vbOKCancel)
If Response = vbCancel Then
wrdDoc.Close 0
If bStarted Then wrdApp.Quit
Exit Sub
ElseIf Response = vbOK Then
intPos = InStrRev(strCurrentFile, ".")
If intPos > 0 Then
strCurrentFile = Left(strCurrentFile, intPos - 1)
End If
strCurrentFile = strCurrentFile & ".pdf"
End If
End If
wrdApp.ActiveDocument.ExportAsFixedFormat OutputFileName:= _
strCurrentFile, _
ExportFormat:=17, _
OpenAfterExport:=False, _
OptimizeFor:=0, _
Range:=0, _
From:=0, _
To:=0, _
Item:=0, _
IncludeDocProps:=True, _
KeepIRM:=True, _
CreateBookmarks:=0, _
DocStructureTags:=True, _
BitmapMissingFonts:=True, _
UseISO19005_1:=False
End If
Set dlgSaveAs = Nothing
wrdDoc.Close
If bStarted Then wrdApp.Quit
Set MyOlNamespace = Nothing
Set MySelectedItem = Nothing
Set wrdDoc = Nothing
Set wrdApp = Nothing
Set oRegEx = Nothing
End Sub

3. 按下 F5 键以启用文件保存对话框,选择一个文件夹来放置文件并为其命名。

batch-convert-email-to-pdf-5

4. 点击 保存

提示:如果代码无法运行,你可以尝试进入信任中心,在宏设置部分勾选启用所有宏选项。

batch-convert-email-to-pdf-6