VBA — eksport arkusza do PDF
Gotowe makro VBA eksportujące arkusz Excela do PDF. Automatyczna nazwa pliku, ścieżka skoroszytu i ustawienia ExportAsFixedFormat.
Do eksportu arkusza do PDF służy metoda ExportAsFixedFormat. Nie musisz instalować dodatkowej biblioteki.
Skopiuj makro
Sub EksportujPDF()
Dim ws As Worksheet
Dim filePath As String
Set ws = ThisWorkbook.Worksheets("Raport")
If ThisWorkbook.Path = "" Then
MsgBox "Najpierw zapisz skoroszyt."
Exit Sub
End If
filePath = ThisWorkbook.Path & "\Raport.pdf"
ws.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=filePath, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
MsgBox "PDF zapisany: " & filePath
End SubCo zmienić w kodzie?
Zmień "Raport" na nazwę eksportowanego arkusza.
Możesz budować nazwę PDF dynamicznie, np. dodając Format(Date, "yyyymmdd").
IgnorePrintAreas:=False powoduje respektowanie ustawionego obszaru wydruku.
Jak działa ten kod?
ExportAsFixedFormat zapisuje arkusz bezpośrednio jako plik PDF.
ThisWorkbook.Path używa tego samego folderu, w którym zapisany jest skoroszyt.
OpenAfterPublish:=False zapobiega automatycznemu otwieraniu PDF po eksporcie.
Najczęstsze błędy
Sprawdź ustawienia strony i obszar wydruku, jeśli PDF jest źle podzielony.
Niezapisany skoroszyt nie ma folderu w ThisWorkbook.Path.
Nazwa pliku nie może zawierać znaków niedozwolonych w Windows, np. dwukropka.