跳到主要内容

如何在Excel中一次将多个工作簿或工作表转换为PDF文件?

有时,您需要将Excel文件转换为PDF文件,以便其他人无法修改它们。 在Excel中,我们可以使用“另存为”功能将Excel文件另存为PDF文件。 但是,如何在Excel中同时将多个工作簿转换为PDF文件呢?


使用“另存为”功能将多个工作簿转换为PDF文件

通常,Excel中的“另存为”功能可以帮助您将整个工作簿保存为PDF文件,方法如下:

1。 启动您要转换为PDF格式的工作簿。

2。 点击 文件 > 另存为,而在 另存为 对话框中,请指定用于保存新文件的文件夹,然后选择 PDF 来自 保存类型 下拉列表,然后单击 附加选项 按钮,请参见屏幕截图:

3。 然后,在弹出 附加选项 对话框,检查 整个工作簿,请参见屏幕截图:

4。 然后点击 OK > 保存,整个工作簿已保存为PDF文件格式。

Tips:如果您需要转换多个工作簿,请按照上述步骤将工作簿一个一个地保存到PDF文件。

一次使用VBA代码将多个工作簿转换为PDF文件

如果需要转换数百个Excel文件,则上述方法将很麻烦,在这里,我将讨论将多个工作簿一次转换为PDF文件的VBA代码,请执行以下步骤:

1。 按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。

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。 然后,点击 OK,会弹出另一个窗口,请选择要输出新PDF文件的文件夹路径,请参见屏幕截图:

5。 然后,点击 OK,完成转换后,您可以转到指定的文件夹预览转换结果,请参见屏幕截图:


使用强大的功能将多个工作簿转换为PDF文件

如果你有 Kutools for Excel,其 格式转换器 实用程序,您可以一次将多个工作簿快速转换为PDF文件。

Tips:申请这个 格式转换器 功能,首先,您应该下载 Kutools for Excel,然后快速轻松地应用该功能。

安装后 Kutools for Excel,请这样做:

1。 点击 Kutools 加 > 工作簿 > 格式转换器,请参见屏幕截图:

2。 弹出一个提示框,提醒您必须关闭要转换的工作簿。

3。 点击 OK,然后,在 FileFormat转换器 对话框中,指定以下选项:

  • 在下面 转换类型 下拉列表,选择 Excel工作簿转换为PDF;
  • 然后点击 地址 按钮以添加要转换的Excel文件,可以根据需要从计算机磁盘或OneDrive中添加工作簿; 

4。 插入要转换的工作簿后,仍在 文件格式转换器 对话框,请单击 按钮选择一个文件夹路径以输出转换后的文件,然后在对话框底部指定所需的一些操作,请参见屏幕截图:

:在以上对话框中:
  • 如果子文件夹中的工作簿也需要转换,请检查 添加文件夹时包括子文件夹 复选框
  • 如果要在转换后删除原始文件,请检查 转换后删除源文件 框;
  • 如果要保留原始文件的修改日期,请检查 保留原始文件的修改日期 框;
  • 可以通过检查以下内容来保留文件的目录结构: 转换后保留文件的目录结构 框;

5。 然后点击 OK 要开始转换,当所有指定的Excel文件都转换为PDF文件时,您可以转到指定的文件夹以预览转换的结果,请参见屏幕截图:


使用VBA代码将工作簿中的多个工作表转换为单独的PDF文件

在某些情况下,您可能希望将工作簿中的每个工作表转换为单独的PDF文件,如果工作簿中有很多工作表,则下面的VBA代码可以帮助您一次将每个工作表另存为PDF文件。

1。 打开一个要转换的工作簿,然后按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。

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。 然后,点击 OK 按钮,当前工作簿中的所有工作表已分别转换为PDF文件,请参见屏幕截图:


使用方便的功能将工作簿中的多个工作表转换为单独的PDF文件

Kutools for Excel 还支持一个有用的功能- 拆分工作簿,使用此功能,您可以在工作簿中保存多个工作表,以根据需要将Excel文件,Txt文件,CSV文件和PDF文件分开。

Tips:申请这个 拆分工作簿 功能,首先,您应该下载 Kutools for Excel,然后快速轻松地应用该功能。

安装后 Kutools for Excel,请这样做:

1。 打开您要将每个工作表另存为PDF文件的工作簿,然后单击“确定”。 酷图加 > 工作簿 > 拆分工作簿,请参见屏幕截图:

2。 在 拆分工作簿 对话框中,选中要保存的工作表,然后选择 PDF(* .pdf) 来自 保存类型 下拉列表,然后单击 分裂 按钮,在 选择“文件夹” 窗口中,指定用于放置转换后文件的文件夹,请参见屏幕截图:

3。 然后,当前工作簿中所有选定的工作表已单独保存为PDF文件,请参见屏幕截图:


更多相关文章:

  • 在Excel中将多个Xls文件转换为Xlsx文件
  • 要将旧的xls Excel文件转换为新的xlsx文件,可以在Excel中应用“另存为”功能,但是,如果需要转换多个xls文件,如何快速而轻松地处理此任务?
  • 将所有工作表另存为值
  • 如果您有一个包含多个公式的工作簿,现在,您需要将此文件分发给其他用户,您不想显示公式,而只显示值。 通常,通过仅将数据复制和粘贴为值,我们可以快速将工作表另存为值。 但是,如何仅将所有工作表另存为值而又不一一复制和粘贴呢?
  • 命令按钮将活动工作表另存为PDF文件
  • 在Microsoft Excel中工作时,您可能会遇到将活动工作表另存为PDF文件的问题。 在本文中,您可以学习如何通过命令按钮使用VBA代码将活动工作表另存为PDF文件。 并且,如果您还希望将活动工作簿中的范围或每个工作表另存为单独的PDF文件,则本文也可以为您提供帮助。
  • 将一个大表拆分为多个小表
  • 现在,如果您有一个包含多列和成百上千行数据的大型工作表,则希望根据列值或行数将该大型表拆分为多个小型表,以获得以下结果。 您如何在Excel中处理此任务?
  • 拆分工作簿以分隔Excel文件
  • 您可能需要将一个大型工作簿拆分为单独的Excel文件,然后将工作簿的每个工作表另存为单独的Excel文件。 例如,您可以将工作簿拆分为多个单独的Excel文件,然后将每个文件交付给不同的人来处理。 这样,您可以使某些人处理特定数据,并确保您的数据安全。 本文将介绍根据每个工作表将大型工作簿拆分为单独的Excel文件的方法。

最佳办公生产力工具

🤖 Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数...
热门特色: 查找、突出显示或识别重复项   |  删除空白行   |  合并列或单元格而不丢失数据   |   不使用公式进行四舍五入 ...
超级查询: 多条件VLookup    多值VLookup  |   跨多个工作表的 VLookup   |   模糊查询 ....
高级下拉列表: 快速创建下拉列表   |  依赖下拉列表   |  多选下拉列表 ....
列管理器: 添加特定数量的列  |  移动列  |  切换隐藏列的可见性状态  |  比较范围和列 ...
特色功能: 网格焦点   |  设计图   |   大方程式酒吧    工作簿和工作表管理器   |  资源库 (自动文本)   |  日期选择器   |  合并工作表   |  加密/解密单元格    按列表发送电子邮件   |  超级筛选   |   特殊过滤器 (过滤粗体/斜体/删除线...)...
前 15 个工具集12 文本 工具 (添加文本, 删除字符,...)   |   50+ 图表 类型 (甘特图,...)   |   40+ 实用 公式 (根据生日计算年龄,...)   |   19 插入 工具 (插入二维码, 从路径插入图片,...)   |   12 转化 工具 (小写金额转大写, 货币兑换,...)   |   7 合并与拆分 工具 (高级组合行, 分裂细胞,...)   |   ... 和更多

使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。  单击此处获取您最需要的功能...

产品描述


Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
Comments (5)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hello this might be to much, but is there a way to make a VBA that would separate multiples workbooks worksheets into to their own pdf file and for each header to be a text in a certain cell in worksheet for each one?
This comment was minimized by the moderator on the site
Thank you so much for this code.
This comment was minimized by the moderator on the site
the vba is really good and serves my purpose well. but can this code not be changed to create pdf from a particular sheet for multiple excel files (say 3rd worksheet of all 100 excel workbooks i have).
This comment was minimized by the moderator on the site
This is perfect for what I was looking for. Thanks for the sharing. I used to convert excel file to PDF file with Acethinker PDF Creator, one by one, not so quick, share it here as an alternative solution.
This comment was minimized by the moderator on the site
i am editing and updating my data in pdf explorer and i have already my data in excel sheet so now i want to export to my excel log to pdf explorer how
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations