批量转换多个Excel工作簿的2种有效方法 PDF 档

立即分享:

有时,您可能希望将多个 Excel 工作簿转换为 PDF 文件。 这里,在本文中,我们将介绍2种方法来批量获取它。

在某些情况下,您可能需要将 Excel 工作簿转换为 PDF 文件中的一个 PDF 文件不能被其他人轻易修改。 众所周知,将 Excel 工作簿转换为 PDF,可以通过原生的“另存为”功能来实现,如下面的方法一。但是,如果要转换的工作簿很多 PDF,最好使用后面介绍的方法2,效率会高很多。 现在,继续阅读以详细了解它们。

方法一:一个一个转换

  1. 首先,打开要转换为的 Excel 工作簿 PDF 文件中。
  2. 然后,转到“文件”菜单并单击“另存为”选项。另存为
  3. 接下来,在“另存为”窗口中,选择“PDF”从“保存类型”的下拉列表中。选择 ”PDF“ 类型
  4. 之后,单击“另存为”窗口中的“选项”按钮。
  5. 然后,在随后出现的“选项”对话框中,选择“整个工作簿”。选择整个工作簿
  6. 最后点击“确定”和“保存”完成转换。
  7. 这样就可以将其他Excel工作簿转换为 PDF 手动一个一个地归档。

方法二:通过VBA批量转换

  1. 一开始,收集所有要转换为的 Excel 工作簿 PDF 在同一个 Windows 文件夹中。
  2. 然后,启动 Excel 应用程序。
  3. 接下来,通过参考“访问Excel VBA编辑器如何在 Excel 中运行 VBA 代码“。
  4. 然后,将以下代码放入模块或项目中。
Sub BatchOpenMultiplePSTFiles()
    Dim objShell As Object
    Dim objWindowsFolder As Object
    Dim strWindowsFolder As String

    'Select the specific Windows folder
    Set objShell = CreateObject("Shell.Application")
    Set objWindowsFolder = objShell.BrowseForFolder(0, "Select a Windows folder:", 0, "")

    If Not objWindowsFolder Is Nothing Then
       strWindowsFolder = objWindowsFolder.self.Path & "\"

       Call ProcessFolders(strWindowsFolder)

       'Open the windows folder
       Shell "Explorer.exe" & " " & strWindowsFolder, vbNormalFocus
   End If
End Sub

Sub ProcessFolders(strPath As String)
    Dim objFileSystem As Object
    Dim objFolder As Object
    Dim objFile As Object
    Dim objExcelFile As Object
    Dim objWorkbook As Excel.Workbook
    Dim strWorkbookName As String

    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFileSystem.GetFolder(strPath)

    For Each objFile In objFolder.Files
        strFileExtension = objFileSystem.GetExtensionName(objFile)
        If LCase(strFileExtension) = "xls" Or LCase(strFileExtension) = "xlsx" Then
           Set objExcelFile = objFile
           Set objWorkbook = Application.Workbooks.Open(objExcelFile.Path)

           strWorkbookName = Left(objWorkbook.Name, (Len(objWorkbook.Name) - Len(strFileExtension)) -1)
           objWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPath & strWorkbookName & ".pdf"

           objWorkbook.Close False
        End If
    Next

    'Process all folders and subfolders
    If objFolder.SubFolders.Count > 0 Then
       For Each objSubFolder In objFolder.SubFolders
           If ((objSubFolder.Attributes And 2) = 0) And ((objSubFolder.Attributes And 4) = 0) Then
              ProcessFolders (objSubFolder.Path)
           End If
       Next
    End If
End Sub

VBA代码——批量转换多个Excel工作簿 PDF 档

  1. 然后,点击进入第一个子程序,按“F5”键。
  2. 在弹出对话框中,选择收集 Excel 文件的特定 Windows 文件夹。选择 Windows 文件夹
  3. 然后,单击“确定”。
  4. 宏完成后,将打开 Windows 文件夹,您可以在其中看到 PDF 文件,如以下屏幕截图。全新发布 PDF 档

对比

优势 缺点
方法1 相当容易操作 转换多个Excel工作簿时太麻烦
方法2 在处理多张工作簿时,比方法一方便快捷多了 用户必须对外部恶意宏保持警惕。

万一 Excel 文件损坏

多个 Excel 用户曾遇到过 Excel 文件损坏的情况。 有时,Excel 的本机恢复功能可以恢复 损坏的 Excel 文件。 然而,有时它不能。 所以强烈建议准备一个强大的Excel修复工具,比如 DataNumen Excel Repair.

作者简介:

Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 恢复sql 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。