Hur man skriver ut till PDF i Excel VBA: Med exempel och illustrationer

  • Dela Detta
Hugh West

I den här artikeln visar jag hur du kan skriva ut alla dokument till PDF-filer med hjälp av VBA i Excel. Vi använder ExportAsFixedForma t metod för att VBA Jag kommer att diskutera alla parametrar för denna metod med lämpliga exempel och illustrationer.

Utskrift till PDF i Excel VBA (snabbvisning)

Ladda ner övningsboken

Ladda ner den här arbetsboken för att träna medan du läser den här artikeln.

VBA Utskrift till PDF.xlsm

Introduktion till ExportAsFixedFormat-uttalandet

⧭ Översikt:

ExportAsFixedForma t metod för att VBA sparar ett givet dokument i PDF-format med ett givet namn med VBA Detta är en ganska användbar metod för dem som arbetar med många Excel-arbetsblad och lagrar dem för framtida användning.

⧭ Syntax:

Syntaxen för VBA ExportAsFixedFormat metoden är:

 Document.ExportAsFixedFormat Typ, Filnamn, Kvalitet, IncludeDocProperties, IgnorePrintAreas, Från, Till, OpenAfterPublish 

⧭ Parametrar:

Parameter Obligatoriskt / valfritt Förklaring
Typ Krävs Anger vilken typ av fil du vill spara som. Använd xlTypePDF för PDF-filer eller xlTypeXPS för XPS-filer.
Filnamn Valfritt Namnet på den fil som du vill spara. Ange filens fullständiga sökväg här om du vill spara filen i en annan sökväg än arbetsboken.
Kvalitet Valfritt Anger kvaliteten på den fil som ska sparas. Använd xlQualityStandard för standardkvalitet eller xlQualityMinimum för lägsta kvalitet.
IncludeDocProperties Valfritt Ställ in den som True för att inkludera dokumentegenskaperna eller ställ in den som False för att inte inkludera dokumentegenskaperna.
IgnorePrintAreas Valfritt Ställ in True för att ignorera utskriftsområdena eller False för att inte ignorera utskriftsområdena.
Från Valfritt Det första sidnumret från vilket dokumentet börjar sparas.
Till Valfritt Ställ in den som True för att inkludera dokumentegenskaperna eller ställ in den som False för att inte inkludera dokumentegenskaperna.
OpenAfterPublish Valfritt Ställ in den som True för att öppna dokumentet efter publicering eller ställ in den som False.

Returvärde:

Den konverterar kalkylbladen i en Excel-arbetsbok till ett PDF-dokument och sparar det i den angivna mappen med det angivna namnet.

5 exempel på att skriva ut till PDF i Excel VBA med exportAsFixedFormat-uttalandet

Låt oss utforska några exempel på hur du skriver ut ett dokument till PDF i Excel. VBA med den ExportAsFixedFormat metod.

Exempel 1: Skriv ut till PDF i Excel VBA utan att ange namn eller sökväg

Här har vi ett arbetsblad med bokförteckningar för en bokhandel som heter Marin Bookstore.

Låt oss skriva en enkel VBA kod för att konvertera arbetsbladet till ett PDF-dokument utan att ange något namn eller någon sökväg.

⧭ VBA-kod:

 Sub Print_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF End Sub 

⧭ Utgång:

Kör den här koden så hittar du en PDF-fil med samma namn som arbetsboken (standardnamn när inget namn anges) i samma mapp som arbetsboken (standardmapp när ingen sökväg anges).

Här heter den Book1.pdf eftersom namnet på min arbetsbok var Bok1 .

Läs mer: Excel VBA: Så här ställer du in utskriftsområdet dynamiskt (7 sätt)

Exempel 2: Skriv ut till PDF i Excel VBA med angivet namn och sökväg

Nu konverterar vi samma arbetsbok till en annan PDF-fil genom att ange namn och sökväg.

Jag sparar PDF-filen med namnet "Martin Bookstore.pdf" i vägen C:\Users\Public\ExcelWIKI på min dator. VBA koden kommer att vara:

⧭ VBA-kod:

 Sub Print_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filnamn:="C:\Users\Public\ExcelWIKI\Martin Bookstore.pdf" End Sub 

⧭ Utgång:

Den här koden sparar PDF-dokumentet i sökvägen C:\Users\Public\ExcelWIKI på min dator med namnet Martin Bookstore.pdf .

Läs mer: Hur man skriver ut valt område i Excel (2 exempel)

Liknande läsningar:

  • Hur man skriver ut titlar i Excel (5 enkla sätt)
  • Skriv ut arbetsblad med kommentarer i Excel (5 enkla sätt)
  • Hur man skriver ut valda celler i Excel (2 enkla sätt)
  • Centrera utskriftsområdet i Excel (4 sätt)
  • Visa utskriftsförhandsgranskning med Excel VBA (3 makron)

Exempel 3: Utskrift till PDF i Excel VBA med öppning av filen efter publicering

Nu ska vi skriva ut dokumentet till PDF på ett sådant sätt att filen öppnas efter att den publicerats. Vi måste ställa in OpenAfterPublish till True .

Så den VBA koden kommer att vara,

⧭ VBA-kod:

 Sub Print_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filnamn:="C:\Users\Public\ExcelWIKI\Martin Bookstore.pdf", _ OpenAfterPublish:=True End Sub 

⧭ Utgång:

Den här koden sparar PDF-dokumentet i sökvägen C:\Users\Public\ExcelWIKI på min dator med namnet Martin Bookstore.pdf och öppna filen så snart den publicerats.

Relaterat innehåll: Hur du ställer in utskriftsförhandsgranskning i Excel (6 alternativ)

Exempel 4: Skriv ut flera arbetsblad till flera PDF-filer i Excel VBA

Hittills har vi skrivit ut ett enda arbetsblad. Den här gången skriver vi ut flera arbetsblad till flera PDF-filer.

Här har vi en arbetsbok med 5 arbetsblad som var och en innehåller bokregistret för en viss bokhandel.

Den här gången konverterar vi alla arbetsblad till PDF-filer.

VBA koden kommer att vara:

⧭ VBA-kod:

 Sub Print_Multiple_Sheets_To_PDF() Sheet_Names = InputBox("Ange namnen på de arbetsblad som ska skrivas ut till PDF: ") Sheet_Names = Split(Sheet_Names, ", ") For i = LBound(Sheet_Names) To UBound(Sheet_Names) Worksheets(Sheet_Names(i)).ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\Users\Public\ExcelWIKI\" + Sheet_Names(i) + ".pdf" Next i EndUnder 

⧭ Utgång:

Kör koden. En inmatningsruta kommer att be dig ange namnen på de arbetsblad som ska konverteras till PDF. Här har jag angett Joseph Bookstore, Morgan Bookstore, Angela Bookstore .

Klicka på OK . och sparar dem som PDF-filer i mappen C:\Users\Public\ExcelWIKI .

Läs mer: Hur man skriver ut flera blad i Excel (7 olika metoder)

Exempel 5: Utveckla en användardefinierad funktion för att skriva ut en PDF-fil i Excel VBA

Slutligen visar jag hur du kan utveckla en användardefinierad funktion för att skriva ut alla arbetsblad till PDF med Excel. VBA .

Vi utvecklar en funktion som heter PrintToPDF som skriver ut det aktiva arbetsbladet i en PDF-fil.

VBA koden kommer att vara:

⧭ VBA-kod:

 Funktion PrintToPDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filnamn:="C:\Users\Public\ExcelWIKI\Martin Bookstore.pdf" Slutfunktion 

⧭ Utgång:

Ange den här funktionen i en valfri cell i arbetsbladet.

=PrintToPDF()

Klicka sedan på ENTER Det omvandlar det aktiva bladet ( Martin Bookstore här) till en PDF-fil i den angivna mappen.

Läs mer: Excel VBA: Skriv ut UserForm så att det passar på en sida (2 metoder)

Saker att komma ihåg

När vi utvecklade koderna använde vi för det mesta ActiveSheet objektet i VBA Den returnerar det arbetsblad som är aktivt vid den tidpunkten i den aktiva arbetsboken.

Ibland har vi också använt egenskapen ActiveSheet.Name Den returnerar namnet på det aktiva arbetsbladet.

Slutsats

Så här kan du skriva ut alla arbetsblad till PDF med VBA i Excel. Har du några frågor? Fråga oss gärna. Glöm inte att besöka vår webbplats. ExcelWIKI för fler inlägg och uppdateringar.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.