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

Cum se utilizează butonul de comandă pentru a salva foaia de lucru activă ca fișier PDF în Excel?

În timp ce lucrați în Microsoft Excel, vă puteți confrunta cu problema salvării foii de lucru active ca fișier PDF. În acest articol, puteți afla cum să salvați foaia de lucru activă ca fișier PDF cu cod VBA printr-un buton de comandă. Și dacă doriți, de asemenea, să salvați un interval sau fiecare foaie de lucru în registrul de lucru activ ca fișier PDF individual, acest articol vă poate ajuta, de asemenea.

Utilizați butonul de comandă pentru a salva foaia de lucru activă ca fișier PDF cu cod VBA
Salvați cu ușurință activul sau fiecare foaie de lucru ca fișier PDF individual cu Kutools pentru Excel


Utilizați butonul de comandă pentru a salva foaia de lucru activă ca fișier PDF cu cod VBA

Puteți rula următorul cod VBA pentru a salva o foaie de lucru activă ca fișier PDF făcând clic pe un buton de comandă. Vă rugăm să faceți următoarele.

1. În primul rând, trebuie să creați un folder numit PDF pentru salvarea noului fișier PDF convertit. Aici creez acest folder în discul meu local (C :).

2. Vă rugăm să introduceți un buton de comandă făcând clic Dezvoltator > Insera > Buton de comandă (control ActiveX). Vedeți captura de ecran:

2. Apoi trageți un buton de comandă în foaia de lucru pe care trebuie să adăugați rânduri noi, faceți clic dreapta pe butonul de comandă și faceți clic pe Proprietăţi din meniul cu clic dreapta.

3. În Proprietăţi caseta de dialog, introduceți textul afișat al butonului de comandă în Legendă caseta de sub clasificate , apoi închideți caseta de dialog.

Puteți vedea textul afișat al butonului de comandă este modificat așa cum este prezentat mai jos.

4. Faceți clic din nou pe butonul de comandă, apoi faceți clic pe Afișați codul din meniul cu clic dreapta.

5. În deschidere Microsoft Visual Basic pentru aplicații fereastră, înlocuiți codul original din fereastra Cod cu următorul cod VBA.

Cod VBA: Buton de comandă pentru a salva foaia de lucru activă în format PDF

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

notițe: În cod, CommandButton1 este numele butonului de comandă pe care îl veți utiliza pentru a salva foaia activă ca fișier PDF. „C: \ PDF \ Export.pdf” este calea și numele fișierului PDF salvat.

6. apasă pe Alt + Q tastele simultan pentru a închide Microsoft Visual Basic pentru aplicații fereastră. Apoi opriți Mod de proiectare în temeiul Dezvoltator tab.

Acum, faceți clic pe butonul de comandă, foaia de lucru activă va fi salvată ca fișier PDF numit Export și situat în locația specificată.


Salvați fiecare foaie de lucru ca fișier PDF individual al registrului de lucru activ cu Kutools pentru Excel

Aici recomandăm Carnet de lucru divizat utilitatea Kutools pentru Excel pentru a salva cu ușurință foaia de lucru activă ca fișier PDF. În plus, puteți salva fiecare foaie de lucru în registrul de lucru curent ca fișier PDF individual cu acest utilitar.

Înainte de a aplica Kutools pentru Excel, Vă rugăm să descărcați-l și instalați-l mai întâi.

1. În registrul de lucru trebuie să salvați fiecare foaie de lucru ca fișier PDF individual, apoi faceți clic pe Kutools Plus > Workbook > Carnet de lucru divizat. Vedeți captura de ecran:

2. În Carnet de lucru divizat casetă de dialog, vă rugăm să configurați după cum urmează:

2.1) Verificați numai numele foii active în Numele foii de lucru cutie;
2.2) Selectați PDF (* .pdf) opțiune de la Salvați ca tip lista verticală;
2.3) Faceți clic pe Despică buton, apoi a Selectați Dosar apare fereastra de dialog, specificați un folder pentru a salva fișierul PDF;

Apoi foaia de lucru selectată este salvată imediat ca fișier PDF.

notițe:

1. Puteți verifica mai multe nume de foi de lucru în caseta Numele foii de lucru pentru a le salva ca fișier pdf individual simultan;
2. Cu excepția salvării foii de lucru ca fișiere pdf, puteți salva foile de lucru ca txt. sau csv. fișier după cum aveți nevoie.

  Dacă doriți să aveți o încercare gratuită (30-zi) a acestei utilitati, vă rugăm să faceți clic pentru a-l descărca, și apoi mergeți pentru a aplica operația conform pașilor de mai sus.


Demo: Salvați selecția sau fiecare foaie de lucru ca PDF cu Kutools pentru Excel


Articole pe aceeași temă:


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (33)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Cum ar permite utilizatorului să introducă numele fișierului, spre deosebire de „Export.pdf”? Mulțumesc, Ian
Acest comentariu a fost redus la minimum de moderatorul de pe site
Sub SaveAsPDF()
Application.Screen Update = False
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Nume fișier:=Application.InputBox(„Introduceți numele fișierului”)

strExcelPath = „H:\Documentele mele”

Application.ScreenUpdating = Adevărat
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am o solicitare similară, vreau ca fișierul să fie numit la fel ca o anumită celulă din filă , IE: G19 (Acesta este numărul facturii și vreau ca fișierul să fie salvat ca PDF cu acest nume)? . Am reușit să fac export.pdf să funcționeze, dar acest lucru nu va funcționa la salvări multiple. Orice gânduri, mulțumesc
Acest comentariu a fost redus la minimum de moderatorul de pe site
O zi buna,
Următorul cod VBA vă poate ajuta să rezolvați problema. Vă rugăm să selectați celula G19 în caseta de dialog Kutoos pentru Excel după rularea codului. Multumesc pentru comentariu.

Sub CommandButton privat 1_Click()
Dim xRg As Range
Dim xName ca șir
La data de eroare CV următoare
Application.ScreenUpdating = Fals
Set xRg = Application.InputBox(„Selectați celula pe care o veți denumi PDF-ul cu valoarea celulei:”, „Kutools pentru Excel”, Selection.Address, , , , , 8)
Dacă xRg nu este nimic, ieșiți din sub
xNume = xRg(1).Valoare
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Nume fișier:="C:\PDF\" & xName & ".pdf", _
OpenAfterPublish: = False
Application.ScreenUpdating = Adevărat
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am schimbat calea către unitatea D, dar nu se salvează în unitatea D. Ce să fac?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Akshay MN,
Dacă ați modificat calea de mai sus către unitatea D, asigurați-vă că există un folder numit PDF în unitatea D.
Dacă doriți doar să salvați fișierul în unitatea D fără a crea un subdosar, vă rugăm să utilizați această cale de folder: „C:\” și xName și „.pdf”
Acest comentariu a fost redus la minimum de moderatorul de pe site
Îmi pot converti fișierele în PDF acum cu un buton de comandă, dar pot obține și aceeași funcție pentru a permite un nume diferit fiecărui fișier; bazat pe o structură de numere existentă?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Randy,
Îmi pare rău că nu te pot ajuta cu asta, bine ai venit să postezi orice întrebare pe forumul nostru: https://www.extendoffice.com/forum.html pentru a obține mai multe suporturi Excel de la profesioniștii noștri.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Afișează eroarea de rulare „1004”
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Nzee,
Trebuie să știu versiunea ta de Excel. Multumesc pentru comentariu.
Acest comentariu a fost redus la minimum de moderatorul de pe site
vă rugăm să lipiți codul pentru butonul de salvare ca pdf în Microsoft Excel
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cum fac asta pentru MS Word? Am o grămadă de întrebări cu opțiuni de buton radio drept răspunsuri. Așa că vreau să creez un buton de comandă pentru a scoate întrebările cu răspunsurile selectate numai pe alt document Word. Cum pot face acest lucru? Un cod ar ajuta cu adevărat! Vă voi trimite documentul prin e-mail dacă aveți nevoie. Mulțumiri!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua,
Îmi pare rău că nu te pot ajuta încă cu asta.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Sub ZapiszPDF()
Dim sNazwaPliku As String

sNazwaPliku = ActiveSheet.Name

Application.Dialogs(xlDialogSaveAs).Show sNazwaPliku, 57

End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am urmat codul, asta am:

Sub CommandButton privat 2_Click()
Application.ScreenUpdating = Fals
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Nume fișier:=Range(„P2”), _
OpenAfterPublish:=Adevărat
Application.ScreenUpdating = Adevărat
End Sub

Am nevoie ca fișierul să fie salvat în locația în care se află fișierul original. De asemenea, aveți nevoie de o copie a fișierului Excel pentru a salva și cu același nume.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Matt Bentley,
Codul funcționează perfect. Vă mulțumesc pentru partajarea.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua,

kann jemand mir helfen?

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

Sub CommandButton privat 1_Click()
Application.ScreenUpdating = Fals
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Nume fișier:="C:\PDF\Export.pdf", _
OpenAfterPublish: = False
Application.ScreenUpdating = Adevărat
End Sub

Mulţumesc
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua,

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


Sub CommandButton privat 1_Click()
Application.ScreenUpdating = Fals
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Nume fișier:="c:/" & G3 & ".pdf", _
OpenAfterPublish: = False
Application.ScreenUpdating = Adevărat
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Sasha,
Următorul cod vă poate ajuta. Înainte de a aplica codul, modificați „C:\Utilizatori\Win10x64Test\Documente\PDF' în a patra linie către propriul folder de destinație.
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
Acest comentariu a fost redus la minimum de moderatorul de pe site
Что это за кнопка - "другой" + Q клавиши одновременно" ?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Диана,
Este tasta „Alt” de pe tastatură. Microsoft Excel permite utilizatorilor să apese tastele „Alt” + „Q” pentru a închide fereastra Microsoft Visual Basic pentru aplicații și a reveni la foaia de lucru.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Goededag

is het mogelijk om een ​​filmpje of een 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.
alvast bedankt
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut max,
Scuze ca nu inteleg ce vrei sa spui. Poate fi necesar să atașați o captură de ecran a ceea ce încercați să faceți. Îmi pare rău pentru neplăcerile create.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hi Echipa,

Mă întreb dacă cineva ar putea ajuta la schimbarea destinației fișierului creat pe desktopul oricărui utilizator? Compania mea nu permite accesul la C: deci scriptul nu funcționează.

MULTE MULTE MULTE Multumesc!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Ben Stoddart,
Trebuie doar să deschideți orice folder de pe desktop și să copiați calea dosarului în caseta de adresă, apoi înlocuiți calea dosarului din codul VBA cu calea pe care ați copiat-o.
Iată noua linie de nume de fișier (vă rugăm să înlocuiți numele de utilizator cu propriul nume de utilizator), Export.pdf este numele și extensia fișierului PDF:
Nume fișier:="C:\Utilizatori\Nume utilizator\Desktop\PDF\Export.pdf", _
Acest comentariu a fost redus la minimum de moderatorul de pe site
Ori de câte ori rulez acest lucru, salvează un PDF pe unitatea mea locală unde au fost salvate foile Excel, cum opresc salvarea automată?

Sub CommandButton privat 1_Click()
Application.ScreenUpdating = Fals
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
OpenAfterPublish:=Adevărat
Application.ScreenUpdating = Adevărat
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Când rulez cele de mai jos, se creează automat o versiune locală a PDF-ului - cum opresc salvarea automată?

Sub CommandButton privat 1_Click()
Application.ScreenUpdating = Fals
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
OpenAfterPublish:=Adevărat
Application.ScreenUpdating = Adevărat
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hi James,
Doriți să deschideți o fereastră pentru a selecta un folder pentru a salva manual fișierul PDF?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Crystal, în mod ideal, da, astfel încât să pot alege apoi unde să salvez PDF-ul.
Acest comentariu a fost redus la minimum de moderatorul de pe site
H James,

Următorul cod VBA vă poate ajuta să rezolvați problema.
notițe: Nu puteți gestiona atât destinația, cât și numele fișierului în același timp. După ce adăugați următorul cod VBA, când faceți clic pe butonul, va apărea o casetă de dialog pentru a selecta un folder de destinație. După selectarea unui folder de destinație, va apărea o casetă pentru a da un nume fișierului 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
Acest comentariu a fost redus la minimum de moderatorul de pe site
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 existiert bereits und es soll beendet werden?
Acest comentariu a fost redus la minimum de moderatorul de pe site
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 existiert bereits und es soll beendet werden?


Sub CommandButton privat 1_Click()
Application.ScreenUpdating = Fals
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Nume fișier:="X:\firmen\Buchhaltung\Rechnungs-Kopie_Ackermann Service GmbH\2022\RK-Abrechnung\" & ActiveSheet.Range("G1") & ".pdf", _
OpenAfterPublish:=Adevărat
Application.ScreenUpdating = Adevărat
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Sasha,
Următorul cod VBA vă poate ajuta. Vă rugăm să încercați.

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
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL