| Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
καλησπέρα σας, θα ήθελα να κάνω μία ερώτηση, πως μπορώ να αποθηκεύσω με vba σε μορφή pdf με όνομα αρχείου τον αριθμό του τιμολογίου σε έναν συγκεκριμένο φάκελο. Ευχαριστώ πολύ. |
|
#2
|
|
Καλησπέρα Πλήρως παραμετροποιήσιμος κώδικας για αποθήκευση ως PDF μιας περιοχής ενός φύλλου Excel. Κώδικας: Sub SaveFileAsPDF()
Dim SavePath As String, FolderName As String
Dim UName As String, WhereToSave As String
Dim PrintRange As Range, FileName As Range
Set PrintRange = Sheet1.Range("myPrintRange")'Όνομα περιοχής που θα εκτυπωθεί
Set FileName = Sheet1.Range("myInvNumber")'Όνομα περιοχής που περιέχει Αρ. Τιμολογίου
UName = "Spirosgr"'Όνομα χρήστη
WhereToSave = "Desktop"'Σημείο υπολογιστή που θα αποθηκευθεί
FolderName = "INVBackUp"'Όνομα φακέλου αποθήκευσης
SavePath = "C:\Users\" & UName & "\" & WhereToSave & "\" & FolderName
PrintRange.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
SavePath & "\" & FileName & ".pdf", Quality:= _
xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End Sub
για διαφορετική ποιότητα στο PDF Όπου Sheet1. το κωδικό όνομα του φύλλου. Όλες οι ονομασίες και οι παράμετροι πρέπει να ακολουθούν τους κανόνες ονομασίας Παράδειγμα: Δεν μπορείτε να ονομάσετε τον φάκελο αποθήκευσης INVBackUp/2014 αλλά μπορείτε να τον ονομάσετε INVBackUp-2014 |
|
#3
| |||
| |||
|
Σας ευχαριστώ πολύ για άλλη μία φορά για την βοήθεια.
|
|
#4
|
|
Να 'σαι καλά! Μια διευκρίνηση: Σχετικά με το xlQualityMinimum και το xlQualityStandard. Δεν έχει να κάνει με την έννοια, ποιότητα εκτύπωσης, καλύτερη ή χειρότερη, ως εμφάνιση του αρχείου PDF, όπως ένα Draft αρχείο, σε μια εκτύπωση σε χαρτί, αλλά πρόκειται, για τον όγκο του αρχείου. Τα αρχεία με QualityMinimum, είναι πιο «ελαφρά» και έτσι μπορούν να δημοσιευθούν στο internet ή να σταλούν ως email (για παράδειγμα) ευκολότερα. Αν δεν προορίζεται η χρήση του αντιγράφου για δημοσίευση, τότε χρησιμοποιήστε QualityStandard. |
|
#5
| |||
| |||
|
Καλημέρα. Ευχαριστώ πολύ για τις πληροφορίες. Το ήθελα για αποστολή σε email, άρα το αφήνω όπως είναι. Με εκτίμηση. |
|
#6
| |||
| |||
|
Καλημέρα στην παρέα του φόρουμ, Με αφορμή την παρούσα ανάρτηση για αποθήκευση δηλαδή κάποιου φύλλου εργασίας σε pdf, θέλω να ρωτήσω πως θα μπορούσε κανείς να δημιουργήσει διαφορετικά pdf εάν το συγκεκριμένο φύλλο έχει αλλαγή σελίδων και το επιθυμητό είναι να δημιουργηθεί ξεχωριστό pdf αρχείο για κάθε σελίδα/ες όταν υπάρχει pagebreak. Φιλικά Δημήτρης |
|
#7
|
|
Καλησπέρα Στο ενεργό φύλλο κάνουμε προεπισκόπηση. Ας υποθέσουμε ότι δημιουργούνται x σελίδες για εκτύπωση. Αν οι κεφαλίδες στηλών είναι στην πρώτη γραμμή, αυτές θα επαναληφθούν σε όλα τα pdf αρχεία. Τα pdf αρχεία θα αποθηκευτούν σε φάκελο που θα ορίσουμε και το όνομα τους θα είναι "κάτι" συν τον αριθμό σελίδας (1 έως x) Κώδικας: Sub SaveFileAsManyPDFasPages()
Dim SavePath As String
Dim FolderName As String
Dim UName As String
Dim WhereToSave As String
Dim FileName As String
Dim PrintRange As Range
Dim HorizBR As Integer
Dim VertBR As Integer
Dim i As Integer
Dim TotalPages As Integer
Set PrintRange = Sheet1.Range("xPrintArea") 'Όνομα περιοχής εκτύπωσης
HorizBR = ActiveSheet.HPageBreaks.Count + 1
VertBR = ActiveSheet.VPageBreaks.Count + 1
TotalPages = HorizBR * VertBR ' Σύνολο σελίδων οριζόντια και κάθετα
UName = "Spirosgr" 'Όνομα χρήστη
WhereToSave = "Desktop" 'Σημείο υπολογιστή που θα αποθηκευθεί
FolderName = "myFolderName" 'Όνομα φακέλου αποθήκευσης
FileName = "myFileName" 'Όνομα που θα έχει το αρχείο pdf
'Το όνομα αυτό θα είναι myFileName1, 2, 3 ...κλπ όσες είναι οι σελίδες
SavePath = "C:\Users\" & UName & "\" & WhereToSave & "\" & FolderName
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$1" 'Γραμμές που θα επαναληφθούν στον τίτλο
End With
Application.PrintCommunication = True
For i = 1 To TotalPages
PrintRange.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
SavePath & "\" & FileName & i & ".pdf", Quality:= _
xlQualityMinimum, IncludeDocProperties:=False, IgnorePrintAreas:=True, _
From:=i, To:=i, OpenAfterPublish:=False
Next i
End Sub
|
|
#8
| |||
| |||
|
Σπύρο να είσαι καλά. Σε ευχαριστώ για άλλη μία φορά για την ανταπόκριση σου. Φιλικά Δημήτρης |
|
#9
| |||
| |||
|
Καλησπέρα κι από εμένα. Εγώ χρησιμοποιώ την παρακάτω συνάρτηση για να βγάζω σε .pdf τα τιμολόγια. Θέλω όμως το όνομα εξαγωγής να είναι της μορφής TΠΥ (αριθμός τιμολογίου)-(ημερομηνία τιμολογίου). ο αριθμός τιμολογίου είναι στη στήλη V9 και η ημερομηνία σε μορφή (22/12/2020) στη στήλη Ρ9. Στο αρχείο πρέπει να γίνει μετατροπή των "\" σε "." προφανώς. Τι πρέπει να προσθέσω στο vba παρακάτω; Sub SaveAsPDFOptions() Dim saveLocation As String saveLocation = "G:\..............\................\2020\antigrafo .pdf" 'Example using all the options ActiveSheet.ExportAsFixedFormat _ Type:=xlTypePDF, _ FileName:=saveLocation, _ OpenAfterPublish:=True, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ Quality:=xlQualityStandard, _ From:=1, To:=1 End Sub |
|
#10
| ||||
| ||||
|
Καλησπέρα Ηλία, Δοκίμασε την παρακάτω ακολουθία στη μεταβλητή saveLocation: saveLocation = "G:\..............\................\2020\ΤΠ " & Range("V9").Value & "-" & Format(Range("P9").Value, "(dd.mm.yyyy)") & ".pdf"
__________________ Your Curiosity Will Be The Death Of You! |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [Εκτύπωση] Εκτύπωση με αποθήκευση? | kolekas | Excel - Ερωτήσεις / Απαντήσεις | 25 | 08-10-15 15:20 |
| [VBA] Αποθηκευση ως & μεταφορα κελιων | kolekas | Excel - Ερωτήσεις / Απαντήσεις | 2 | 01-10-15 21:55 |
| [VBA] Αποθήκευση με ημερομηνία | sotisanis | Excel - Ερωτήσεις / Απαντήσεις | 7 | 16-10-13 07:24 |
| Υπολογισμός και αποθήκευση ΦΠΑ | vaios84 | Access - Ερωτήσεις / Απαντήσεις | 8 | 24-01-12 11:16 |
| Πρόβλημα κατά την αποθήκευση. | mike04 | Access - Ερωτήσεις / Απαντήσεις | 2 | 20-09-11 21:59 |
Η ώρα είναι 09:41.


Αλλαγή σε γραμμικό τρόπο

