Πίνακας περιεχομένων
Αυτό το σεμινάριο θα δείξει τον τρόπο αποθήκευσης / εκτύπωσης σε PDF στο Excel VBA.
Εκτύπωση σε PDF
Αυτή η απλή διαδικασία θα εκτυπώσει το ActiveSheet σε PDF.
123456 | Sub SimplePrintToPDF ()ActiveSheet.ExportAsFixedFormat Τύπος: = xlTypePDF, Όνομα αρχείου: = "demo.pdf", Ποιότητα: = xlQualityStandard, _IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueΤέλος υπο |
Δημιούργησα επίσης μια λειτουργία με χειρισμό σφαλμάτων κ.λπ. που θα εκτυπώσει το ActiveSheet σε PDF:
12345678910111213141516171819202122232425262728293031323334353637383940 | ΥποεκτύπωσηPDF ()Καλέστε το Save_PDFΤέλος υποΛειτουργία Save_PDF () As Boolean 'Αντιγράφει φύλλα σε νέο αρχείο PDF για ηλεκτρονική αποστολήΧαμηλώστε αυτό το φύλλο ως συμβολοσειρά, αυτό το αρχείο ως συμβολοσειρά, όνομα διαδρομής ως συμβολοσειράDim SvAs As StringApplication.ScreenUpdating = Λάθος«Λήψη ονόματος αποθήκευσης αρχείουThissheet = ActiveSheet.NameThisFile = ActiveWorkbook.NamePathName = ActiveWorkbook.PathSvAs = Όνομα διαδρομής & "\" & Αυτό το φύλλο & ".pdf"«Ρύθμιση ποιότητας εκτύπωσηςΣτο Σφάλμα Συνέχιση ΕπόμενοActiveSheet.PageSetup.PrintQuality = 600Err.ClearΣφάλμα GoTo 0«Δώστε οδηγίες στον χρήστη πώς να στέλνειΣφάλμα GoTo RefLibErrorActiveSheet.ExportAsFixedFormat Type: = xlTypePDF, Όνομα αρχείου: = SvAs, Quality: = xlQualityStandard, IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueΣφάλμα GoTo 0SaveOnly:MsgBox "Ένα αντίγραφο αυτού του φύλλου αποθηκεύτηκε επιτυχώς ως αρχείο .pdf:" & Chr (13) & Chr (13) & SvAs & _"Ελέγξτε το έγγραφο .pdf. Εάν το έγγραφο ΔΕΝ φαίνεται καλό, προσαρμόστε τις παραμέτρους εκτύπωσης και δοκιμάστε ξανά."Save_PDF = ΑλήθειαGoTo EndMacroRefLibError:MsgBox "Δεν είναι δυνατή η αποθήκευση ως PDF. Η βιβλιοθήκη αναφοράς δεν βρέθηκε."Save_PDF = ΛάθοςEndMacro:Λειτουργία Τέλους |
Η συνάρτηση επιστρέφει TRUE ή FALSE εάν η εκτύπωση σε PDF ήταν επιτυχής ή όχι.
Αποθήκευση και αποστολή email σε λειτουργία PDF
Αυτή η λειτουργία θα αποθηκεύσει το ActiveSheet ως PDF και (προαιρετικά) θα επισυνάψει το PDF σε ένα email (υποθέτοντας ότι έχετε εγκαταστήσει το Outlook):
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | Sub Test_Save_PDF ()Κλήση Send_PDF ("SendEmail")Τέλος υποΣυνάρτηση Send_PDF (Προαιρετική ενέργεια ως συμβολοσειρά = "SaveOnly") Ως Boolean "Αντιγράφει φύλλα σε νέο αρχείο PDF για ηλεκτρονική αποστολήΧαμηλώστε αυτό το φύλλο ως συμβολοσειρά, αυτό το αρχείο ως συμβολοσειρά, όνομα διαδρομής ως συμβολοσειράDim SvAs As StringApplication.ScreenUpdating = Λάθος"Λήψη ονόματος αποθήκευσης αρχείουThissheet = ActiveSheet.NameThisFile = ActiveWorkbook.NamePathName = ActiveWorkbook.PathSvAs = Όνομα διαδρομής & "\" & Αυτό το φύλλο & ".pdf"«Ρύθμιση ποιότητας εκτύπωσηςΣτο Σφάλμα Συνέχιση ΕπόμενοActiveSheet.PageSetup.PrintQuality = 600Err.ClearΣφάλμα GoTo 0«Δώστε οδηγίες στον χρήστη πώς να στέλνειΣφάλμα GoTo RefLibErrorActiveSheet.ExportAsFixedFormat Type: = xlTypePDF, Όνομα αρχείου: = SvAs, Quality: = xlQualityStandard, IncludeDocProperties: = False, IgnorePrintAreas: = False, OpenAfterPublish: = TrueΣφάλμα GoTo 0' Να στείλετε e-mailIf action = "SendEmail" ΤότεΣτο Σφάλμα GoTo SaveOnlyΕφαρμογή. Διάλογοι (xlDialogSendMail). ΕμφάνισηΣφάλμα GoTo 0GoTo EndMacroΤέλος εανSaveOnly:MsgBox "Ένα αντίγραφο αυτού του φύλλου αποθηκεύτηκε επιτυχώς ως αρχείο .pdf:" & Chr (13) & Chr (13) & SvAs & _"Ελέγξτε το έγγραφο .pdf. Εάν το έγγραφο ΔΕΝ φαίνεται καλό, προσαρμόστε τις παραμέτρους εκτύπωσης και δοκιμάστε ξανά."Send_PDF = TrueGoTo EndMacroRefLibError:MsgBox "Δεν είναι δυνατή η αποθήκευση ως PDF. Η βιβλιοθήκη αναφοράς δεν βρέθηκε."Send_PDF = ΛάθοςEndMacro:Λειτουργία Τέλους |