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

Jak pomocí příkazového tlačítka uložit aktivní list jako soubor PDF v aplikaci Excel?

Při práci v aplikaci Microsoft Excel se můžete setkat s problémem uložení aktivního listu jako souboru PDF. V tomto článku se naučíte, jak uložit aktivní list jako soubor PDF s kódem VBA pomocí příkazového tlačítka. A pokud také chcete uložit rozsah nebo každý list do aktivního sešitu jako samostatný soubor PDF, může vám tento článek také pomoci.

Pomocí příkazového tlačítka uložíte aktivní list jako soubor PDF s kódem VBA
Pomocí aplikace Kutools pro Excel můžete snadno uložit aktivní nebo každý list jako samostatný soubor PDF


Pomocí příkazového tlačítka uložíte aktivní list jako soubor PDF s kódem VBA

Následující kód VBA můžete spustit a uložit aktivní list jako soubor PDF kliknutím na příkazové tlačítko. Postupujte prosím následovně.

1. Nejprve musíte vytvořit složku s názvem PDF pro uložení nového převedeného souboru PDF. Zde vytvořím tuto složku na svém místním disku (C :).

2. Vložte příkazové tlačítko kliknutím Vývojka > Vložit > Příkazové tlačítko (ovládání ActiveX). Viz snímek obrazovky:

2. Potom nakreslete příkazové tlačítko do listu, do kterého potřebujete přidat nové řádky, klikněte pravým tlačítkem na příkazové tlačítko a klikněte na Nemovitosti z nabídky pravého tlačítka myši.

3. V Nemovitosti V dialogovém okně zadejte zobrazený text příkazového tlačítka do okna Titulek rámeček pod kategorizovány kartu a poté zavřete dialogové okno.

Můžete vidět, že zobrazený text příkazového tlačítka je změněn, jak je znázorněno níže.

4. Klikněte znovu pravým tlačítkem na příkazové tlačítko a poté klikněte na Zobrazit kód z nabídky pravého tlačítka myši.

5. V otvoru Microsoft Visual Basic pro aplikace v okně Nahradit původní kód v okně Kód následujícím kódem VBA.

Kód VBA: Příkazové tlačítko pro uložení aktivního listu jako PDF

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

Poznámka: V kódu je CommandButton1 název příkazového tlačítka, který použijete k uložení aktivního listu jako souboru PDF. „C: \ PDF \ Export.pdf“ je cesta a název uloženého souboru PDF.

6. zmáčkni Další + Q současně zavřete Microsoft Visual Basic pro aplikace okno. Poté vypněte Režim návrhu pod Vývojka Karta.

Nyní klikněte na příkazové tlačítko, aktivní list bude uložen jako soubor PDF s názvem Export a umístěn na zadaném místě.


Uložte každý list jako samostatný soubor PDF aktivního sešitu pomocí programu Kutools pro Excel

Zde doporučuji Rozdělit sešit užitečnost Kutools pro Excel snadno uložit aktivní list jako soubor PDF. Kromě toho můžete pomocí tohoto nástroje uložit každý list v aktuálním sešitu jako samostatný soubor PDF.

Před aplikací Kutools pro Excel, Prosím nejprve si jej stáhněte a nainstalujte.

1. V sešitu musíte uložit každý list jako samostatný soubor PDF a poté kliknout Kutools Plus > Cvičebnice > Rozdělit sešit. Viz snímek obrazovky:

2. V Rozdělit sešit V dialogovém okně proveďte následující konfiguraci:

2.1) Zkontrolujte pouze název aktivního listu v Název listu krabice;
2.2) Vyberte PDF (* .pdf) možnost z nabídky Uložit jako typ rozbalovací seznam;
2.3) Klikněte na Rozdělit tlačítko, pak a Vybrat složku objeví se dialogové okno, určete složku pro uložení souboru PDF;

Poté se vybraný list okamžitě uloží jako soubor PDF.

Poznámky:

1. Můžete zkontrolovat více názvů listů v poli Název listu a uložit je jako samostatný soubor PDF najednou;
2. Kromě uložení listu jako souborů PDF můžete listy uložit jako txt. nebo csv. soubor, jak potřebujete.

  Pokud chcete mít bezplatnou zkušební verzi (30-den) této utility, kliknutím jej stáhněte, a poté přejděte k použití operace podle výše uvedených kroků.


Ukázka: Uložte výběr nebo každý list jako PDF pomocí Kutools pro Excel


Související články:


Nejlepší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2021 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Plné funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
officetab dno
Komentáře (33)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Ahoj, jak by bylo možné umožnit uživateli zadat název souboru na rozdíl od "Export.pdf"? Díky, Iane
Tento komentář byl moderátorem webu minimalizován
Sub SaveAsPDF()
Aktualizace Application.Screen = False
ActiveSheet.ExportAsFixedFormat Typ:=xlTypePDF, _
Filename:=Application.InputBox("Zadejte název souboru")

strExcelPath = "H:\Moje dokumenty"

Application.ScreenUpdating = True
End Sub
Tento komentář byl moderátorem webu minimalizován
Mám podobný požadavek Chci, aby se soubor jmenoval stejně jako konkrétní buňka na kartě , IE: G19 (Toto je číslo faktury a chci soubor uložit jako PDF s tímto názvem) ? . Podařilo se mi zprovoznit export.pdf, ale toto nebude fungovat na více saves.Any myšlenky díky
Tento komentář byl moderátorem webu minimalizován
Dobrý den,
Následující kód VBA vám může pomoci vyřešit problém. Po spuštění kódu vyberte buňku G19 ve vyskakovacím dialogovém okně Kutoos for Excel. Děkuji za váš komentář.

Private Sub CommandButton1_Click ()
Dim xRg jako rozsah
Dim xName As String
On Error Resume Next
Application.ScreenUpdating = False
Set xRg = Application.InputBox("Vyberte buňku, kterou pojmenujete PDF s hodnotou buňky:", "Kutools pro Excel", Selection.Address, , , , , 8)
Pokud xRg není nic, pak Exit Sub
xName = xRg(1).Hodnota
ActiveSheet.ExportAsFixedFormat Typ:=xlTypePDF, _
Název souboru:="C:\PDF\" & xName & ".pdf", _
OpenAfterPublish: = False
Application.ScreenUpdating = True
End Sub
Tento komentář byl moderátorem webu minimalizován
Změnil jsem cestu na jednotku D, ale neukládá se na jednotku D. Co dělat?
Tento komentář byl moderátorem webu minimalizován
Ahoj Akshay MN,
Pokud jste upravili výše uvedenou cestu k jednotce D, ujistěte se, že na jednotce D je složka s názvem PDF.
Pokud chcete soubor uložit pouze na jednotku D bez vytvoření podsložky, použijte prosím tuto cestu ke složce: "C:\" & xName & ".pdf"
Tento komentář byl moderátorem webu minimalizován
Mohu nyní převést své soubory do PDF pomocí příkazového tlačítka, ale mohu také získat stejnou funkci, která umožní každému souboru jiný název; na základě existující číselné struktury?
Tento komentář byl moderátorem webu minimalizován
Ahoj Randy,
Je mi líto, že s tím nemohu pomoci, vítám vás, když můžete na našem fóru zveřejnit jakýkoli dotaz: https://www.extendoffice.com/forum.html získat další podporu Excelu od našeho profesionála.
Tento komentář byl moderátorem webu minimalizován
Ukazuje chybu běhu „1004“
Tento komentář byl moderátorem webu minimalizován
ahoj Nzee,
Potřebuji znát vaši verzi Excelu. Děkuji za váš komentář.
Tento komentář byl moderátorem webu minimalizován
plz vložte kódování pro uložení jako pdf tlačítko v microsoft excelu
Tento komentář byl moderátorem webu minimalizován
Jak to udělám pro MS Word? Mám spoustu otázek s možnostmi přepínače jako odpovědi. Chci tedy vytvořit příkazové tlačítko pro výstup otázek s vybranými odpověďmi pouze v jiném dokumentu aplikace Word. Jak to udělám? Kód by opravdu pomohl! Pokud budete potřebovat, zašlu vám dokument e-mailem. Dík!
Tento komentář byl moderátorem webu minimalizován
Dobrý den,
S tím vám bohužel zatím nemohu pomoci.
Tento komentář byl moderátorem webu minimalizován
Sub ZapiszPDF()
Dim sNazwaPliku As String

sNazwaPliku = ActiveSheet.Name

Application.Dialogs(xlDialogSaveAs).Show sNazwaPliku, 57

End Sub
Tento komentář byl moderátorem webu minimalizován
Postupoval jsem podle kódu, mám toto:

Private Sub CommandButton2_Click ()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Typ:=xlTypePDF, _
Název souboru:=Range("P2"), _
OpenAfterPublish:=Pravda
Application.ScreenUpdating = True
End Sub

Potřebuji soubor uložit do umístění, kde se nachází původní soubor. také potřebujete kopii souboru aplikace Excel k uložení se stejným názvem.
Tento komentář byl moderátorem webu minimalizován
Ahoj Matte Bentley,
Kód funguje perfektně. Děkuji za sdílení.
Tento komentář byl moderátorem webu minimalizován
Dobrý den,

kann jemand mir helfen?

Jejich 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 Typ:=xlTypePDF, _
Název souboru:="C:\PDF\Export.pdf", _
OpenAfterPublish: = False
Application.ScreenUpdating = True
End Sub

Děkuji
Tento komentář byl moderátorem webu minimalizován
Dobrý den,

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


Private Sub CommandButton1_Click ()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Typ:=xlTypePDF, _
Název souboru:="c:/" & G3 & ".pdf", _
OpenAfterPublish: = False
Application.ScreenUpdating = True
End Sub
Tento komentář byl moderátorem webu minimalizován
Hi Sasha,
Následující kód vám může pomoci. Před použitím kódu změňte „C:\Users\Win10x64Test\Documents\PDF' ve čtvrtém řádku k vaší vlastní cílové složce.
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
Tento komentář byl moderátorem webu minimalizován
Что это за кнопка - "другой" + Q клавиши одновременно" ? Не поняла что нажтиматьсо
Tento komentář byl moderátorem webu minimalizován
Ahoj Диана,
Je to klávesa "Alt" na vaší klávesnici. Microsoft Excel umožňuje uživatelům stisknutím kláves "Alt" + "Q" zavřít okno Microsoft Visual Basic for Applications a vrátit se do listu.
Tento komentář byl moderátorem webu minimalizován
Goededag

je vytvořen ve všech filmových souborech, které vynikají díky Command-Knop Om Een ​​Actief Werkblad Op Te Slaan Als PDF-Bestand Met VBA-Code.
kom er niet helemaal uit met de codes.
díky předem
Tento komentář byl moderátorem webu minimalizován
ahoj max,
Promiň, nerozumím tomu, co myslíš. Možná budete muset připojit snímek obrazovky toho, co se pokoušíte udělat. Omluvám se za nepříjemnost.
Tento komentář byl moderátorem webu minimalizován
Hi Team,

Jen by mě zajímalo, jestli by někdo mohl pomoci se změnou cíle vytvořeného souboru na plochu libovolného uživatele? Moje společnost neumožňuje přístup k C:, takže skript nefunguje.

MNOHO MNOHO MNOHO díky!
Tento komentář byl moderátorem webu minimalizován
Ahoj Bene Stoddarte,
Stačí otevřít libovolnou složku na ploše a zkopírovat cestu složky do pole adresy a poté nahradit cestu ke složce v kódu VBA zkopírovanou cestou.
Zde je nový řádek Název souboru (nahraďte uživatelské jméno svým vlastním uživatelským jménem), Export.pdf je název a přípona souboru PDF:
Název souboru:="C:\Users\Username\Desktop\PDF\Export.pdf", _
Tento komentář byl moderátorem webu minimalizován
Kdykoli to spustím, uloží se PDF na můj místní disk, kde jsou uloženy listy aplikace Excel, jak zastavím automatické ukládání?

Private Sub CommandButton1_Click ()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Typ:=xlTypePDF, _
OpenAfterPublish:=Pravda
Application.ScreenUpdating = True
End Sub
Tento komentář byl moderátorem webu minimalizován
Když spustím níže uvedený, automaticky se vytvoří místní verze PDF - jak zastavím automatické ukládání?

Private Sub CommandButton1_Click ()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Typ:=xlTypePDF, _
OpenAfterPublish:=Pravda
Application.ScreenUpdating = True
End Sub
Tento komentář byl moderátorem webu minimalizován
Ahoj James,
Chcete vyskakovací okno pro výběr složky pro ruční uložení souboru PDF?
Tento komentář byl moderátorem webu minimalizován
Ahoj Crystal, ideálně ano, abych si pak mohl vybrat, kam to PDF uložit.
Tento komentář byl moderátorem webu minimalizován
H Jamesi,

Následující kód VBA vám může pomoci vyřešit problém.
Poznámka: Nemůžete zpracovat současně cíl i název souboru. Po přidání následujícího kódu VBA se po kliknutí na tlačítko zobrazí dialogové okno, ve kterém můžete vybrat cílovou složku. Po výběru cílové složky se zobrazí okno, ve kterém můžete soubor PDF pojmenovat.

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
Tento komentář byl moderátorem webu minimalizován
Jejich nutze diese Zeilen und das funktioniert auch gut, mein Problem ist nur, sollte 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?
Tento komentář byl moderátorem webu minimalizován
Jejich nutze diese Zeilen und das funktioniert auch gut, mein Problem ist nur, sollte 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 Typ:=xlTypePDF, _
Název souboru:="X:\firmen\Buchhaltung\Rechnungs-Kopie_Ackermann Service GmbH\2022\RK-Abrechnung\" & ActiveSheet.Range("G1") & ".pdf", _
OpenAfterPublish:=Pravda
Application.ScreenUpdating = True
End Sub
Tento komentář byl moderátorem webu minimalizován
Hi Sasha,
Pomoci může následující kód VBA. Zkuste to prosím.

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
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL