跳到主要內容

如何在Excel中一次將多個工作簿或工作表轉換為PDF文件?

有時,您需要將Excel文件轉換為PDF文件,以便其他人無法修改它們。 在Excel中,我們可以使用“另存為”功能將Excel文件另存為PDF文件。 但是,如何在Excel中同時將多個工作簿轉換為PDF文件呢?


使用另存為功能將多個工作簿轉換為PDF文件

通常,Excel中的“另存為”功能可以幫助您將整個工作簿保存為PDF文件,方法如下:

1。 啟動您要轉換為PDF格式的工作簿。

2。 點擊 文件 > 另存為,並在中 另存為 對話框中,請指定用於保存新文件的文件夾,然後選擇 PDF 來自 保存類型 下拉列表,然後單擊 選項 按鈕,請參見屏幕截圖:

3。 然後,在彈出 選項 對話框,檢查 整個工作簿,請參見屏幕截圖:

4。 然後點擊 OK > 節省,整個工作簿已保存為PDF文件格式。

保養竅門:如果您需要轉換多個工作簿,請按照上述步驟將工作簿一個一個地保存到PDF文件。

一次使用VBA代碼將多個工作簿轉換為PDF文件

如果需要轉換數百個Excel文件,則上述方法將很麻煩,在這裡,我將討論將多個工作簿一次轉換為PDF文件的VBA代碼,請執行以下步驟:

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。 然後,點擊 OK,會彈出另一個窗口,請選擇要輸出新PDF文件的文件夾路徑,請參見屏幕截圖:

5。 然後,點擊 OK,完成轉換後,您可以轉到指定的文件夾預覽轉換結果,請參見屏幕截圖:


使用強大的功能將多個工作簿轉換為PDF文件

如果你有 Excel的Kutools,其 格式轉換器 實用程序,您可以一次將多個工作簿快速轉換為PDF文件。

保養竅門:要應用此 格式轉換器 功能,首先,您應該下載 Excel的Kutools,然後快速輕鬆地應用該功能。

安裝後 Excel的Kutools,請這樣做:

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 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。 然後,點擊 OK 按鈕,當前工作簿中的所有工作表已分別轉換為PDF文件,請參見屏幕截圖:


使用方便的功能將工作簿中的多個工作表轉換為單獨的PDF文件

Excel的Kutools 還支持一個有用的功能- 拆分工作簿,使用此功能,您可以在工作簿中保存多個工作表,以根據需要將Excel文件,Txt文件,CSV文件和PDF文件分開。

保養竅門:要應用此 拆分工作簿 功能,首先,您應該下載 Excel的Kutools,然後快速輕鬆地應用該功能。

安裝後 Excel的Kutools,請這樣做:

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選項卡為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