如何在 Excel 中一次性将多个工作簿或工作表转换为 PDF 文件?
当您希望在共享数据的同时防止修改时,将 Excel 文件转换为 PDF 是一项常见的任务。虽然 Excel 的“另存为”功能允许您将单个工作簿转换为 PDF,但处理多个文件可能会非常耗时。本指南探讨了各种方法,包括使用 VBA 代码和 Kutools for Excel,以快速一次性将多个工作簿或工作表转换为 PDF 文件。
- 使用“另存为”功能逐个将多个工作簿转换为 PDF 文件
- 使用 VBA 代码一次性将多个工作簿转换为 PDF 文件
- 使用强大的功能将多个工作簿转换为 PDF 文件
- 使用 VBA 代码将工作簿中的多个工作表转换为单独的 PDF 文件
- 使用便捷的功能将工作簿中的多个工作表转换为单独的 PDF 文件
使用“另存为”功能逐个将多个工作簿转换为 PDF 文件
通常情况下,Excel 中的“另存为”功能可以帮助您将整个工作簿保存为 PDF 文件,请按照以下步骤操作:
1. 打开要转换为 PDF 格式的工作簿。
2. 单击 “文件” > “另存为”,在弹出的“另存为”对话框中,请指定一个用于保存新文件的文件夹,然后从“保存类型”下拉列表中选择 PDF,接着单击“选项”按钮,如下截图所示:
3. 然后,在弹出的“选项”对话框中,勾选“所有工作表”,如下截图所示:
4. 接着单击“确定”>“保存”,这样整个工作簿就已保存为 PDF 文件格式。
使用 VBA 代码一次性将多个工作簿转换为 PDF 文件
如果有数百个 Excel 文件需要转换,上述方法会显得麻烦。在这里,我将介绍一种 VBA 代码,可以一次性将多个工作簿转换为 PDF 文件,请按照以下步骤操作:
1. 按住 ALT + F11 键打开 Microsoft Visual Basic for Applications 窗口。
2. 单击“ 插入”>“模块”,并将以下代码粘贴到模块窗口中。
VBA 代码:一次性将多个工作簿转换为 PDF 文件
Sub ExcelSaveAsPDF()
'Updateby Extendoffice
Dim strPath As String
Dim xStrFile1, xStrFile2 As String
Dim xWbk As Workbook
Dim xSFD, xRFD As FileDialog
Dim xSPath As String
Dim xRPath, xWBName As String
Dim xBol As Boolean
Set xSFD = Application.FileDialog(msoFileDialogFolderPicker)
With xSFD
.Title = "Please select the folder contains the Excel files you want to convert:"
.InitialFileName = "C:\"
End With
If xSFD.Show <> -1 Then Exit Sub
xSPath = xSFD.SelectedItems.Item(1)
Set xRFD = Application.FileDialog(msoFileDialogFolderPicker)
With xRFD
.Title = "Please select a destination folder to save the converted files:"
.InitialFileName = "C:\"
End With
If xRFD.Show <> -1 Then Exit Sub
xRPath = xRFD.SelectedItems.Item(1) & "\"
strPath = xSPath & "\"
xStrFile1 = Dir(strPath & "*.*")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Do While xStrFile1 <> ""
xBol = False
If Right(xStrFile1, 3) = "xls" Then
Set xWbk = Workbooks.Open(Filename:=strPath & xStrFile1)
xbwname = Replace(xStrFile1, ".xls", "_pdf")
xBol = True
ElseIf Right(xStrFile1, 4) = "xlsx" Then
Set xWbk = Workbooks.Open(Filename:=strPath & xStrFile1)
xbwname = Replace(xStrFile1, ".xlsx", "_pdf")
xBol = True
ElseIf Right(xStrFile1, 4) = "xlsm" Then
Set xWbk = Workbooks.Open(Filename:=strPath & xStrFile1)
xbwname = Replace(xStrFile1, ".xlsm", "_pdf")
xBol = True
End If
If xBol Then
xWbk.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xRPath & xbwname & ".pdf"
xWbk.Close SaveChanges:=False
End If
xStrFile1 = Dir
Loop
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
3. 按 F5 键运行此代码,随后会弹出一个窗口,请选择包含要转换的工作簿的文件夹,如下截图所示:
4. 单击“确定”,另一个窗口会弹出,请选择一个文件夹路径用于输出新的 PDF 文件,如下截图所示:
5. 单击“确定”,完成转换后,您可以前往指定的文件夹查看转换结果,如下截图所示:
![]() | ![]() | ![]() |
使用强大功能将多个工作簿转换为 PDF 文件
如果您安装了 Kutools for Excel,通过其批量转换工具,您可以快速一次性将多个工作簿转换为 PDF 文件。
1. 单击 Kutools Plus > 工作簿 > 批量转换,如下截图所示:
2. 将弹出一个提示框,提醒您关闭要转换的工作簿。
3. 单击“确定”,然后在“文件格式转换器 ”对话框中,指定以下选项:
- 在“转换类型”下拉列表中,选择“Excel 到 PDF”;
- 单击“添加”按钮选择要转换的 Excel 文件。您可以根据需要从计算机或 OneDrive 中选择工作簿。
4插入要转换的工作簿后,仍然在 文件格式转换器 对话框中,请单击 按钮选择一个文件夹路径来输出转换后的文件,然后在对话框底部指定一些所需的操作,如下截图所示:
- 如果要包含子文件夹中的工作簿,请勾选“ 添加文件夹时包含子文件夹”复选框;
- 如果要在转换后删除源文件,请勾选“ 转换后删除源文件”复选框;
- 如果要保留源文件的修改时间,请勾选“保留源文件的修改时间”复选框;
- 通过勾选“转换时保留文件的目录结构”复选框,可以保留文件的目录结构;
5. 然后单击“确定”开始转换。一旦所有指定的 Excel 文件都转换为 PDF,导航到指定的文件夹查看结果。见下方截图:
![]() | ![]() | ![]() |
Kutools for Excel - 通过超过300个必备工具,让Excel功能大幅提升。永久免费享受AI功能!立即获取
使用 VBA 代码将工作簿中的多个工作表转换为单独的 PDF 文件
在某些情况下,您可能希望将工作簿中的每个工作表转换为单独的 PDF 文件。如果您的工作簿包含许多工作表,下面的 VBA 代码可以帮助同时将每个工作表保存为单独的 PDF 文件。
1. 打开要转换的工作簿,然后按住 ALT + F11 键打开 Microsoft Visual Basic for Applications 窗口。
2. 单击“ 插入”>“模块”,并将以下代码粘贴到模块窗口中。
VBA 代码:将工作簿中的多个工作表转换为单独的 PDF 文件
Sub SplitEachWorksheet()
'Updateby Extendoffice
Dim xSPath As String
Dim xSFD As FileDialog
Dim xWSs As Sheets
Dim xWb As Workbook
Dim xWbs As Workbooks
Dim xNWb As Workbook
Dim xInt, xI As Integer
Set xSFD = Application.FileDialog(msoFileDialogFolderPicker)
With xSFD
.title = "Please select a folder to save the converted files:"
.InitialFileName = "C:\"
End With
If xSFD.Show <> -1 Then Exit Sub
xSPath = xSFD.SelectedItems.Item(1)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xWb = Application.ActiveWorkbook
Set xWbs = Application.Workbooks
Set xWSs = xWb.Sheets
Set xNWb = xWbs.Add
xInt = xWSs.Count
For xI = 1 To xInt
On Error GoTo EBreak
Set xWs = xWSs.Item(xI)
If xWs.Visible Then
xWSs(xWs.Name).Copy
Application.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xSPath & "\" & xWs.Name & ".pdf"
Application.ActiveWorkbook.Close False
End If
EBreak:
Next
xWb.Activate
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
3. 按 F5 键运行此代码,随后会弹出一个窗口,请选择一个文件夹路径来保存转换后的 PDF 文件。见截图:
4. 单击“确定”按钮,当前工作簿中的所有工作表都将被转换为单独的 PDF 文件:
使用便捷功能将工作簿中的多个工作表转换为单独的 PDF 文件
Kutools for Excel 还支持一个有用的功能——分割工作簿,通过此功能,您可以根据需要将工作簿中的多个工作表保存为单独的 Excel 文件、Txt 文件、CSV 文件和 PDF 文件。
1. 打开要将每个工作表保存为单独 PDF 文件的工作簿,然后单击 Kutool Plus > 工作簿 > 分割工作簿,如下截图所示:
2. 在“分割工作簿”对话框中,勾选要保存的工作表,然后从“保存类型”下拉列表中选择 PDF (*.pdf) ,接着单击“分割”按钮,在“选择文件夹”窗口中,指定一个文件夹用于存放转换后的文件,如下截图所示:
![]() | ![]() | ![]() |
3. 然后,当前工作簿中所有选定的工作表都已分别保存为 PDF 文件,如下截图所示:
Kutools for Excel - 通过超过300个必备工具,让Excel功能大幅提升。永久免费享受AI功能!立即获取
更多相关文章:
- 在 Excel 中将多个 Xls 文件转换为 Xlsx 文件
- 要将旧版 xls Excel 文件转换为新版 xlsx 文件,您可以应用 Excel 中的“另存为”功能,但如果有多份 xls 文件需要转换,如何快速轻松地完成这项任务呢?
- 将所有工作表仅保存为值
- 如果您有一个包含多个公式的 Excel 工作簿,现在需要将其分发给其他用户,您不希望显示公式,而只显示值。通常,我们可以通过复制并粘贴数据为值的方式快速保存工作表为值。但是,如何在不逐一复制粘贴的情况下将所有工作表仅保存为值呢?
- 命令按钮保存活动工作表为 PDF 文件
- 在使用 Microsoft Excel 时,您可能会遇到保存活动工作表为 PDF 文件的问题。本文中,您可以学习如何通过 VBA 代码和命令按钮将活动工作表保存为 PDF 文件。如果您还希望将某个区域或活动工作簿中的每个工作表保存为单独的 PDF 文件,本文也可以帮助您。
- 将大型表格拆分为多个小表格
- 如果您有一个包含多列和数百行甚至数千行数据的大型工作表,现在您希望根据列值或行数将这个大表格拆分为多个小表格以获得以下结果。如何在 Excel 中处理这项任务呢?
- 将工作簿拆分为单独的 Excel 文件
- 您可能需要将一个大型工作簿拆分为单独的 Excel 文件,将工作簿中的每个工作表保存为单独的 Excel 文件。例如,您可以将一个工作簿拆分为多个单独的 Excel 文件,然后将每个文件交给不同的人进行处理。通过这样做,您可以确保特定人员处理特定数据,并保护您的数据安全。本文将介绍如何基于每个工作表将大型工作簿拆分为单独的 Excel 文件的方法。
最佳办公效率工具
🤖 | Kutools AI 助手:基于智能执行、生成代码、创建自定义公式、分析数据并生成图表、调用 Kutools 函数等功能,彻底改变数据分析方式… |
热门功能:查找、高亮或标记重复项 | 删除空行 | 合并不丢失数据的列或单元格 | 四舍五入 ... | |
高级 LOOKUP:多条件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 .... | |
高级下拉列表:快速创建下拉列表 | 从属下拉列表 | 多选下拉列表 .... | |
列管理器: 添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域和列 ... | |
精选功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...)... | |
排名前 15 的工具集: 12 种文本 工具(添加文本、删除特定字符等) | 50 多 种图表 类型(甘特图等) | 40 多种实用 公式(基于生日计算年龄等) | 19 种插入 工具(插入二维码、根据路径插入图片等) | 12 种转换 工具(小写金额转大写、汇率转换等) | 7 种合并与分割 工具(高级合并行、分割单元格等) | 还有更多... |
使用 Kutools for Excel 提升您的 Excel 技能,体验前所未有的高效。 Kutools for Excel 提供超过 300 种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...
Office Tab 将标签式界面引入 Office,让您的工作更加轻松
- 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读。
- 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
- 将您的生产力提升 50%,每天为您减少数百次鼠标点击!