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

Jak używać przycisku polecenia, aby zapisać aktywny arkusz roboczy jako plik PDF w programie Excel?

Pracując w programie Microsoft Excel możesz napotkać problem z zapisaniem aktywnego arkusza do pliku PDF. W tym artykule możesz dowiedzieć się, jak zapisać aktywny arkusz roboczy jako plik PDF z kodem VBA za pomocą przycisku polecenia. A jeśli chcesz również zapisać zakres lub każdy arkusz w aktywnym skoroszycie jako osobny plik PDF, ten artykuł również może Ci pomóc.

Użyj przycisku polecenia, aby zapisać aktywny arkusz jako plik PDF z kodem VBA
Z łatwością zapisz aktywny lub każdy arkusz roboczy jako osobny plik PDF za pomocą Kutools for Excel


Użyj przycisku polecenia, aby zapisać aktywny arkusz jako plik PDF z kodem VBA

Możesz uruchomić następujący kod VBA, aby zapisać aktywny arkusz jako plik PDF, klikając przycisk polecenia. Wykonaj następujące czynności.

1. Po pierwsze, musisz utworzyć folder o nazwie PDF, aby zapisać nowy przekonwertowany plik PDF. Tutaj tworzę ten folder na moim dysku lokalnym (C :).

2. Wstaw przycisk polecenia, klikając Deweloper > wstawka > Przycisk polecenia (formant ActiveX). Zobacz zrzut ekranu:

2. Następnie narysuj przycisk polecenia w arkuszu, w którym chcesz dodać nowe wiersze, kliknij prawym przyciskiem myszy przycisk polecenia i kliknij Właściwości z menu po kliknięciu prawym przyciskiem myszy.

3. w Właściwości W oknie dialogowym wprowadź wyświetlany tekst przycisku polecenia do pliku Podpis pole pod skategoryzowane a następnie zamknij okno dialogowe.

Możesz zobaczyć, że wyświetlany tekst przycisku polecenia zmienia się, jak pokazano poniżej.

4. Ponownie kliknij prawym przyciskiem myszy przycisk polecenia, a następnie kliknij Wyświetl kod z menu po kliknięciu prawym przyciskiem myszy.

5. W otwarciu Microsoft Visual Basic for Applications oknie, zamień oryginalny kod w oknie Kod na następujący kod VBA.

Kod VBA: przycisk polecenia do zapisywania aktywnego arkusza roboczego 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

Uwagi: W kodzie CommandButton1 to nazwa przycisku polecenia, której będziesz używać do zapisywania aktywnego arkusza jako pliku PDF. „C: \ PDF \ Export.pdf” to ścieżka i nazwa zapisywanego pliku PDF.

6. wciśnij inny + Q klawisze jednocześnie, aby zamknąć Microsoft Visual Basic for Applications okno. Następnie wyłącz Tryb projektowania pod Deweloper patka.

Teraz kliknij przycisk polecenia, aktywny arkusz zostanie zapisany jako plik PDF o nazwie Eksportuj i umieszczony w określonej lokalizacji.


Zapisz każdy arkusz roboczy jako osobny plik PDF aktywnego skoroszytu za pomocą Kutools for Excel

Tutaj polecam Podziel skoroszyt użyteczność Kutools dla programu Excel aby łatwo zapisać aktywny arkusz jako plik PDF. Poza tym za pomocą tego narzędzia możesz również zapisać każdy arkusz roboczy w bieżącym skoroszycie jako osobny plik PDF.

Przed złożeniem wniosku Kutools dla programu ExcelProszę pobierz i zainstaluj najpierw.

1. W skoroszycie musisz zapisać każdy arkusz jako osobny plik PDF, a następnie kliknij Kutools Plus > skoroszyt > Podziel skoroszyt. Zobacz zrzut ekranu:

2. w Podziel skoroszyt okno dialogowe, skonfiguruj w następujący sposób:

2.1) Sprawdź tylko nazwę aktywnego arkusza w Nazwa arkusza pudełko;
2.2) Wybierz PDF (* .pdf) opcja z Zapisz jako typ Lista rozwijana;
2.3) Kliknij Split przycisk, a następnie a Wybierz folder pojawi się okno dialogowe, określ folder do zapisania pliku PDF;

Następnie wybrany arkusz roboczy jest natychmiast zapisywany jako plik PDF.

Uwagi:

1. Możesz zaznaczyć wiele nazw arkuszy w polu Nazwa arkusza, aby zapisać je od razu jako pojedynczy plik PDF;
2. Oprócz zapisywania arkusza roboczego jako plików PDF, możesz zapisywać arkusze jako txt. lub csv. plik, jak potrzebujesz.

  Jeśli chcesz skorzystać z bezpłatnego okresu próbnego (30-dzień) tego narzędzia, kliknij, aby go pobrać, a następnie przejdź do wykonania operacji zgodnie z powyższymi krokami.


Demo: Zapisz wybór lub każdy arkusz roboczy jako plik PDF za pomocą Kutools for Excel


Powiązane artykuły:


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (33)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, Jak można pozwolić użytkownikowi na wprowadzenie nazwy pliku w przeciwieństwie do „Export.pdf”? Dzięki, Ianie
Ten komentarz został zminimalizowany przez moderatora na stronie
Zapisz jako PDF()
Application.Screen Update = Fałsz
ActiveSheet.ExportAsFixedFormat Typ:=xlTypePDF, _
Nazwa pliku:=Application.InputBox("Wprowadź nazwę pliku")

strExcelPath = "H:\Moje dokumenty"

Application.ScreenUpdating = True
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam podobną prośbę. Chcę żeby plik miał taką samą nazwę jak konkretna komórka w zakładce IE: G19 (To jest numer faktury i chcę żeby plik był zapisany jako PDF o tej nazwie) ? . Udało mi się uruchomić plik export.pdf, ale to nie zadziała w przypadku wielu zapisów. Wszelkie myśli, dzięki
Ten komentarz został zminimalizowany przez moderatora na stronie
Dobry dzień,
Poniższy kod VBA może pomóc w rozwiązaniu problemu. Wybierz komórkę G19 w wyskakującym oknie dialogowym Kutoos dla programu Excel po uruchomieniu kodu. Dziękuję za Twój komentarz.

Private Sub CommandButton1_Click ()
Dim xRg jako zakres
Dim xName jako ciąg
On Error Resume Next
Application.ScreenUpdating = Fałsz
Set xRg = Application.InputBox("Wybierz komórkę, której nazwiesz plik PDF wartością komórki:", "Kutools for Excel", Selection.Address, , , , , 8)
Jeśli xRg jest niczym, wyjdź z Sub
xNazwa = xRg(1).Wartość
ActiveSheet.ExportAsFixedFormat Typ:=xlTypePDF, _
Nazwa pliku:="C:\PDF\" & xName & ".pdf", _
OpenAfterPublish: = False
Application.ScreenUpdating = True
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Zmieniłem ścieżkę na dysk D, ale to nie jest zapis na dysku D. Co robić?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Akshay MN,
Jeśli zmodyfikowałeś powyższą ścieżkę do dysku D, upewnij się, że na dysku D znajduje się folder o nazwie PDF.
Jeśli chcesz tylko zapisać plik na dysku D bez tworzenia podfolderu, użyj tej ścieżki folderu: "C:\" & xName & ".pdf"
Ten komentarz został zminimalizowany przez moderatora na stronie
Mogę teraz konwertować pliki do formatu PDF za pomocą przycisku polecenia, ale czy mogę również uzyskać tę samą funkcję, aby umożliwić inną nazwę każdemu plikowi; na podstawie istniejącej struktury liczbowej?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Randy,
Przepraszamy, że nie mogę w tym pomóc, zapraszam do zadawania pytań na naszym forum: https://www.extendoffice.com/forum.html aby uzyskać więcej wsparcia Excel od naszego profesjonalisty.
Ten komentarz został zminimalizowany przez moderatora na stronie
POKAZUJE błąd czasu wykonywania „1004”
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,
Muszę znać twoją wersję Excela. Dziękuję za Twój komentarz.
Ten komentarz został zminimalizowany przez moderatora na stronie
kodowanie wklej plz do zapisywania jako przycisk pdf w programie microsoft excel
Ten komentarz został zminimalizowany przez moderatora na stronie
Jak to zrobić w MS Word? Mam kilka pytań z opcjami przycisków radiowych jako odpowiedziami. Dlatego chcę utworzyć przycisk polecenia, aby pytania z wybranymi odpowiedziami były wyświetlane tylko w innym dokumencie tekstowym. Jak mam to zrobic? Kod naprawdę by pomógł! Jeśli będziesz potrzebować, wyślę Ci dokument e-mailem. Dzięki!
Ten komentarz został zminimalizowany przez moderatora na stronie
Dzień dobry,
Przepraszamy, nie mogę ci jeszcze w tym pomóc.
Ten komentarz został zminimalizowany przez moderatora na stronie
ZapiszPDF()
Dim sNazwaPliku As String

sNazwaPliku = Aktywny arkusz.Nazwa

Application.Dialogs(xlDialogSaveAs).Pokaż sNazwaPliku, 57

End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Postępowałem zgodnie z kodem, oto co mam:

Private Sub CommandButton2_Click ()
Application.ScreenUpdating = Fałsz
ActiveSheet.ExportAsFixedFormat Typ:=xlTypePDF, _
Nazwa pliku:=Zakres("P2"), _
Otwórz po opublikowaniu:=Prawda
Application.ScreenUpdating = True
End Sub

potrzebuję pliku do zapisania w lokalizacji, w której znajduje się oryginalny plik. również potrzebna jest kopia pliku Excela, aby zapisać również pod tą samą nazwą.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Matt Bentley,
Kod działa idealnie. Dziękuję za udostępnienie.
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam,

kann jeman 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 = Fałsz
ActiveSheet.ExportAsFixedFormat Typ:=xlTypePDF, _
Nazwa pliku:="C:\PDF\Eksport.pdf", _
OpenAfterPublish: = False
Application.ScreenUpdating = True
End Sub

Dziękuję
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam,

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


Private Sub CommandButton1_Click ()
Application.ScreenUpdating = Fałsz
ActiveSheet.ExportAsFixedFormat Typ:=xlTypePDF, _
Nazwa pliku:="c:/" & G3 & ".pdf", _
OpenAfterPublish: = False
Application.ScreenUpdating = True
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Sasha,
Poniższy kod może pomóc. Przed zastosowaniem kodu zmień 'C:\Użytkownicy\Win10x64Test\Dokumenty\PDF' w czwartym wierszu do własnej ścieżki folderu docelowego.
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
Ten komentarz został zminimalizowany przez moderatora na stronie
Что это за кнопка - "другой" + Q клавиши одновременно" ?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Диана,
Jest to klawisz „Alt” na klawiaturze. Microsoft Excel pozwala użytkownikom nacisnąć klawisze „Alt” + „Q”, aby zamknąć okno Microsoft Visual Basic for Applications i powrócić do arkusza roboczego.
Ten komentarz został zminimalizowany przez moderatora na stronie
Goededag

Jest to film, który może zostać stworzony przez klawisz Command-Knop Om Een Actief Werkblad Op Te Slaan Als PDF-Bestand Met VBA-Code.
kom er niet helemaal uit met de codes.
Alvast Bedankt
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Maks,
Przepraszam, nie rozumiem, co masz na myśli. Może być konieczne załączenie zrzutu ekranu tego, co próbujesz zrobić. Przepraszam za niedogodności.
Ten komentarz został zminimalizowany przez moderatora na stronie
Zespół Hi,

Zastanawiam się tylko, czy ktoś mógłby pomóc w zmianie miejsca docelowego utworzonego pliku na pulpit dowolnego użytkownika? Moja firma nie zezwala na dostęp do C: więc skrypt nie działa.

WIELE WIELE WIELE dzięki!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Ben Stoddart,
Wystarczy otworzyć dowolny folder na pulpicie i skopiować ścieżkę folderu w polu adresu, a następnie zastąpić ścieżkę folderu w kodzie VBA skopiowaną ścieżką.
Oto nowa linia nazwy pliku (proszę zastąpić nazwę użytkownika własną nazwą użytkownika), Eksport.pdf to nazwa i rozszerzenie pliku PDF:
Nazwa pliku:="C:\Users\Nazwa użytkownika\Desktop\PDF\Export.pdf", _
Ten komentarz został zminimalizowany przez moderatora na stronie
Za każdym razem, gdy to uruchamiam, zapisuje plik PDF na moim lokalnym dysku, na którym zapisano arkusze programu Excel, jak mogę zatrzymać automatyczne zapisywanie?

Private Sub CommandButton1_Click ()
Application.ScreenUpdating = Fałsz
ActiveSheet.ExportAsFixedFormat Typ:=xlTypePDF, _
Otwórz po opublikowaniu:=Prawda
Application.ScreenUpdating = True
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Kiedy uruchomię poniższe, automatycznie utworzy lokalną wersję pliku PDF — jak mogę zatrzymać automatyczne zapisywanie?

Private Sub CommandButton1_Click ()
Application.ScreenUpdating = Fałsz
ActiveSheet.ExportAsFixedFormat Typ:=xlTypePDF, _
Otwórz po opublikowaniu:=Prawda
Application.ScreenUpdating = True
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Hi James,
Czy chcesz wyświetlić okno, aby wybrać folder do ręcznego zapisania pliku PDF?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Crystal, najlepiej tak, więc mogę wtedy wybrać miejsce zapisania pliku PDF.
Ten komentarz został zminimalizowany przez moderatora na stronie
James,

Poniższy kod VBA może pomóc w rozwiązaniu problemu.
Uwagi: Nie można jednocześnie obsługiwać miejsca docelowego i nazwy pliku. Po dodaniu następującego kodu VBA, po kliknięciu przycisku pojawi się okno dialogowe, w którym można wybrać folder docelowy. Po wybraniu folderu docelowego pojawi się okno, w którym należy podać nazwę pliku 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
Ten komentarz został zminimalizowany przez moderatora na stronie
Ich 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 Exstiiert bereits und es soll bedet werden?
Ten komentarz został zminimalizowany przez moderatora na stronie
Ich 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 Exstiiert bereits und es soll bedet werden?


Private Sub CommandButton1_Click ()
Application.ScreenUpdating = Fałsz
ActiveSheet.ExportAsFixedFormat Typ:=xlTypePDF, _
Nazwa pliku:="X:\firmen\Buchhaltung\Rechnungs-Kopie_Ackermann Service GmbH\2022\RK-Abrechnung\" & ActiveSheet.Range("G1") & ".pdf", _
Otwórz po opublikowaniu:=Prawda
Application.ScreenUpdating = True
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Sasha,
Poniższy kod VBA może pomóc. Proszę spróbować.

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
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL