Note: The other languages of the website are Google-translated. Back to English

如何在Excel中使用命令按鈕將活動工作表另存為PDF文件?

在Microsoft Excel中工作時,您可能會遇到將活動工作表另存為PDF文件的問題。 在本文中,您可以學習如何通過命令按鈕使用VBA代碼將活動工作表另存為PDF文件。 並且,如果您還希望將活動工作簿中的範圍或每個工作表另存為單獨的PDF文件,則本文也可以為您提供幫助。

使用命令按鈕將活動工作表另存為帶有VBA代碼的PDF文件
使用Kutools for Excel輕鬆將活動或每個工作表另存為單獨的PDF文件


使用命令按鈕將活動工作表另存為帶有VBA代碼的PDF文件

您可以運行以下VBA代碼,通過單擊命令按鈕將活動工作表另存為PDF文件。 請執行以下操作。

1.首先,您需要創建一個名為PDF的文件夾以保存新的轉換後的PDF文件。 在這裡,我在本地光盤(C :)中創建此文件夾。

2.請通過單擊插入命令按鈕 開發人員 > 插入 > 命令按鈕(ActiveX控件)。 看截圖:

2.然後在需要添加新行的工作表中繪製一個“命令按鈕”,右鍵單擊“命令按鈕”並單擊 氟化鈉性能 從右鍵單擊菜單中。

3。 在裡面 氟化鈉性能 對話框中,將命令按鈕的顯示文本輸入到 標題 下框 分類 選項卡,然後關閉對話框。

您可以看到命令按鈕的顯示文本已更改,如下圖所示。

4.再次右鍵單擊“命令按鈕”,然後單擊“確定”。 查看代碼 從右鍵單擊菜單中。

5.在開幕 Microsoft Visual Basic for Applications 窗口,請用以下VBA代碼替換“代碼”窗口中的原始代碼。

VBA代碼:將活動工作表另存為PDF的命令按鈕

Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:="C:\PDF\Export.pdf", _
            OpenAfterPublish:=False
    Application.ScreenUpdating = True
End Sub

備註:在代碼中,CommandButton1是命令按鈕名稱,將用於將活動工作表另存為PDF文件。 “ C:\ PDF \ Export.pdf”是保存的PDF文件的路徑和名稱。

6。 按 其他 + Q 同時關閉按鍵 Microsoft Visual Basic for Applications 窗口。 然後關閉 設計模式開發人員 標籤。

現在,單擊命令按鈕,活動工作表將另存為名為Export的PDF文件,並位於指定位置。


使用Kutools for Excel將每個工作表另存為活動工作簿的單獨PDF文件

在這裡推薦 拆分工作簿 的效用 Excel的Kutools 輕鬆將活動工作表另存為PDF文件。 此外,您還可以使用該實用程序將當前工作簿中的每個工作表另存為單獨的PDF文件。

申請前 Excel的Kutools首先下載並安裝.

1.在工作簿中,您需要將每個工作表另存為單獨的PDF文件,然後單擊 Kutools 加 > 工作簿 > 拆分工作簿。 看截圖:

2。 在裡面 拆分工作簿 對話框,請進行如下配置:

2.1)僅在 工作表名稱 框;
2.2)選擇 PDF(* .pdf) 選項從 保存類型 下拉列表;
2.3)點擊 分裂 按鈕,然後 選擇“文件夾” 彈出對話框,指定保存PDF文件的文件夾;

然後,所選工作表將立即保存為PDF文件。

筆記:

1.您可以在“工作表名稱”框中檢查多個工作表名稱,以一次將它們另存為單獨的pdf文件;
2.除了將工作表另存為pdf文件之外,您還可以將工作表另存為txt。 或csv。 根據需要歸檔。

  如果您想免費試用(30-day) 這個實用程序, 請點擊下載,然後按照上述步驟進行操作。


演示:使用Kutools for Excel將選擇或每個工作表另存為PDF


相關文章:


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (33)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
嗨,如何允許用戶輸入文件名而不是“Export.pdf”? 謝謝,伊恩
網站主持人對此評論進行了最小化
子另存為PDF()
Application.Screen 更新 = False
ActiveSheet.ExportAsFixedFormat 類型:=xlTypePDF,_
Filename:=Application.InputBox("輸入文件名")

strExcelPath = "H:\我的文檔"

Application.ScreenUpdating = True
END SUB
網站主持人對此評論進行了最小化
我有一個類似的請求,我希望將文件命名為與選項卡中的特定單元格相同的名稱,即:G19(這是發票編號,我希望文件以該名稱另存為 PDF)? . 我已經設法讓 export.pdf 工作,但這不適用於多次保存。任何想法謝謝
網站主持人對此評論進行了最小化
美好的一天,
以下 VBA 代碼可以幫助您解決問題。 請在運行代碼後在彈出的 Kutoos for Excel 對話框中選擇單元格 G19。 感謝您的評論。

Private Sub CommandButton1_Click()
將 xRg 調暗為範圍
將 xName 調暗為字符串
在錯誤恢復下一頁
Application.ScreenUpdating = False
Set xRg = Application.InputBox("選擇您將使用單元格值命名 PDF 的單元格:", "Kutools for Excel", Selection.Address, , , , , 8)
如果 xRg 什麼都不是,則退出 Sub
xName = xRg(1).Value
ActiveSheet.ExportAsFixedFormat 類型:=xlTypePDF,_
文件名:="C:\PDF\" & xName & ".pdf", _
OpenAfterPublish:=否
Application.ScreenUpdating = True
END SUB
網站主持人對此評論進行了最小化
我更改了D盤的路徑,但它沒有保存在D盤中。 該怎麼辦?
網站主持人對此評論進行了最小化
嗨 Akshay MN,
如果您修改了上述D盤路徑,請確保您的D盤中有一個名為PDF的文件夾。
如果您只想將文件保存在 D 盤而不創建子文件夾,請使用此文件夾路徑: "C:\" & xName & ".pdf"
網站主持人對此評論進行了最小化
我現在可以使用命令按鈕將文件轉換為 PDF,但我也可以使用相同的功能來允許每個文件使用不同的名稱; 基於現有的數字結構?
網站主持人對此評論進行了最小化
嗨蘭迪,
抱歉我幫不上忙,歡迎在我們的論壇發表任何問題: https://www.extendoffice.com/forum.html 從我們的專業人員那裡獲得更多的 Excel 支持。
網站主持人對此評論進行了最小化
它顯示運行時錯誤“1004”
網站主持人對此評論進行了最小化
嗨,恩澤,
我需要知道你的 Excel 版本。 感謝您的評論。
網站主持人對此評論進行了最小化
請在microsoft excel中粘貼編碼以另存為pdf按鈕
網站主持人對此評論進行了最小化
如何為 MS Word 執行此操作? 我有一堆問題,單選按鈕選項作為答案。 所以我想創建一個命令按鈕,僅在另一個 Word 文檔中輸出帶有所選答案的問題。 我該怎麼做呢? 代碼真的很有幫助! 如果您需要,我會將文件通過電子郵件發送給您。 謝謝!
網站主持人對此評論進行了最小化
美好的一天,
抱歉還不能幫你。
網站主持人對此評論進行了最小化
子 ZapiszPDF()
將 sNazwaPliku 調暗為字符串

sNazwaPliku = ActiveSheet.Name

Application.Dialogs(xlDialogSaveAs).Show sNazwaPliku,57

END SUB
網站主持人對此評論進行了最小化
我遵循了代碼,這就是我所擁有的:

Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat 類型:=xlTypePDF,_
文件名:=範圍(“P2”),_
OpenAfterPublish:=真
Application.ScreenUpdating = True
END SUB

我需要將文件保存到原始文件所在的位置。 還需要excel文件的副本以相同的名稱保存。
網站主持人對此評論進行了最小化
嗨,馬特賓利,
該代碼完美運行。 感謝你的分享。
網站主持人對此評論進行了最小化
您好!

kann jemand mir helfen?

Ich nutze diese Zeilen und möchte jedoch, das aus dem Blatt ein Zellenwert als Dateiname gespeichert wird:

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat 類型:=xlTypePDF,_
文件名:="C:\PDF\Export.pdf", _
OpenAfterPublish:=否
Application.ScreenUpdating = True
END SUB

謝謝
網站主持人對此評論進行了最小化
您好!

ich nutze diese Zeilen und möchte das eine Zelle als Dateiname verwenden wrd!
Kann mir jemand ein Tipp geben?


Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat 類型:=xlTypePDF,_
文件名:="c:/" & G3 & ".pdf", _
OpenAfterPublish:=否
Application.ScreenUpdating = True
END SUB
網站主持人對此評論進行了最小化
嗨薩沙,
以下代碼可以提供幫助。 在應用代碼之前,請更改 'C:\Users\Win10x64Test\Documents\PDF' 在第四行到您自己的目標文件夾路徑。
Private Sub CommandButton1_Click()
'Updated by Extendoffice 20220929
    Application.ScreenUpdating = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:="C:\Users\Win10x64Test\Documents\PDF\" & Range("G3").Value, _
            OpenAfterPublish:=False
    Application.ScreenUpdating = True
End Sub
網站主持人對此評論進行了最小化
Что это за кнопка - "другой" + Q клавиши одновременно" ? Не поняла что нажимать, подскажите, пожалуйста
網站主持人對此評論進行了最小化
嗨,Диана,
它是鍵盤上的“Alt”鍵。 Microsoft Excel 允許用戶按“Alt”+“Q”鍵關閉 Microsoft Visual Basic for Applications 窗口並返回到工作表。
網站主持人對此評論進行了最小化
戈德達格

是 en voorbeeld excelblad te maken voor de Command-Knop Om Een Actief Werkblad Op Te Slaan Als PDF-Bestand Met VBA-Code 的動畫電影。
kom er niet helemaal uit met de codes。
阿爾瓦斯特貝丹特
網站主持人對此評論進行了最小化
嗨最大,
對不起,我不明白你的意思。 您可能需要附上您正在嘗試執行的操作的屏幕截圖。 帶來不便敬請諒解。
網站主持人對此評論進行了最小化
喜隊,

只是想知道是否有人可以幫助將創建的文件的目標更改為任何用戶的桌面? 我的公司不允許訪問 C:,因此腳本無法運行。

非常非常感謝!
網站主持人對此評論進行了最小化
嗨,本·斯托達特,
您只需要打開桌面上的任意文件夾並複制地址欄中的文件夾路徑,然後將VBA代碼中的文件夾路徑替換為您複製的路徑即可。
這是新的文件名行(請用您自己的用戶名替換用戶名), 導出.pdf 是 PDF 文件的名稱和文件擴展名:
文件名:="C:\Users\用戶名\Desktop\PDF\Export.pdf", _
網站主持人對此評論進行了最小化
每當我運行它時,它都會將 PDF 保存到保存 Excel 工作表的本地驅動器,如何阻止它自動保存?

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat 類型:=xlTypePDF,_
OpenAfterPublish:=真
Application.ScreenUpdating = True
END SUB
網站主持人對此評論進行了最小化
當我運行下面的命令時,它會自動創建一個本地版本的 PDF - 如何阻止它自動保存?

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat 類型:=xlTypePDF,_
OpenAfterPublish:=真
Application.ScreenUpdating = True
END SUB
網站主持人對此評論進行了最小化
嗨詹姆斯,
是否要彈出窗口選擇手動保存PDF文件的文件夾?
網站主持人對此評論進行了最小化
嗨,Crystal,最好是這樣,這樣我就可以選擇保存 PDF 的位置。
網站主持人對此評論進行了最小化
詹姆斯,

下面的 VBA 代碼可以幫助您解決問題。
備註: 您不能同時處理目的地和文件名。 添加如下VBA代碼後,點擊該按鈕,會彈出一個對話框讓你選擇目標文件夾。 選擇目標文件夾後,將彈出一個框,供您為 PDF 文件命名。

Private Sub CommandButton1_Click()
'Updated by Extendoffice 20221223
    Dim xDlg As FileDialog
    Dim xFolder As Variant
    Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
    Dim xStrName As String
    If xDlg.Show <> -1 Then Exit Sub
    
    xFolder = xDlg.SelectedItems(1)
    
    xStart = InputBox("file name", "KuTools for Excel", ActiveSheet.Name & ".pdf")

    Application.ScreenUpdating = False

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=xFolder & "\" & xStart, _
            OpenAfterPublish:=False
    Application.ScreenUpdating = True

End Sub
網站主持人對此評論進行了最小化
Ich nutze diese Zeilen und das funktioniert auch gut, mein Problem ist nur, solte diese Datei bereits vorhanden sein, wird diese einfach überschrieben!
Wie kann ich das vermeiden, es sollte eine Meldung kommen, Datei existiert bereits und es soll beendet werden?
網站主持人對此評論進行了最小化
Ich nutze diese Zeilen und das funktioniert auch gut, mein Problem ist nur, solte diese Datei bereits vorhanden sein, WIRD diese einfach überschrieben!
Wie kann ich das vermeiden, es sollte eine Meldung kommen, Datei existiert bereits und es soll beendet werden?


Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat 類型:=xlTypePDF,_
文件名:="X:\firmen\Buchhaltung\Rechnungs-Kopie_Ackermann Service GmbH\2022\RK-Abrechnung\" & ActiveSheet.Range("G1") & ".pdf", _
OpenAfterPublish:=真
Application.ScreenUpdating = True
END SUB
網站主持人對此評論進行了最小化
嗨薩沙,
以下 VBA 代碼可以提供幫助。 請試一試。

Private Sub CommandButton1_Click()
'Updated by Extendoffice 20221230
    Dim xPDFName As String
    Dim xPDFPath As String
    Dim xObjFS As Object
    Dim xNum As Integer
    Dim xStr As String
    
    xPDFName = "Export" 'The file name
    xPDFPath = "D:\work\Jan\test\" 'The file path
    Application.ScreenUpdating = True
    On Error Resume Next
    Set xObjFS = CreateObject("Scripting.FileSystemObject")
    xStr = xPDFPath & xPDFName & ".pdf"
    xNum = 1
    If xObjFS.FileExists(xStr) Then
    xResponse = MsgBox("The file already exists, do you want to overwrite it?", vbYesNo, "www.extendoffice.com", "", 0)
       If xResponse <> vbYes Then
       Exit Sub
      End If
    End If
    Application.ScreenUpdating = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            FileName:=xStr, _
            OpenAfterPublish:=False
    Application.ScreenUpdating = True
End Sub
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護