![]() |
Εξαγωγή αρχείου σε μορφή pdf με επιλογή θέσης και με alarm ύπαρξης ίδιου ονόματος Χρόνια Πολλά σ' όλους Χριστός Ανέστη. Για άλλη μία φορά θα χρειαστώ την βοήθεια από τα μέλη του φόρουμ. Παραθέτω δύο κώδικες, τους οποίους μου τους έστειλε ο Γιώργος (kapetang) σε παλαιότερα θέματα που είχα ζητήσει βοήθεια και εκτελούν τις ακόλουθες εντολές: Ο 1ος μας επιτρέπει να αποθηκεύσουμε σε μορφή pdf έκθεση σε φάκελο που θα επιλέξουμε εμείς. Ο 2ος μας προειδοποιεί για την ύπαρξη αρχείου με το ίδιο όνομα σε προκαθορισμένο φάκελο. Αυτό που θέλω να πετύχω και δεν μπόρεσα, αν και έχω κάνει αρκετές προσπάθειες, να μπορέσω να "παντρέψω" τους δύο κώδικες. Δηλ. ένας κώδικας που με μία εντολή να γίνεται η εξαγωγή του pdf σε φάκελο της επιλογής μου και ταυτόχρονα να υπάρχει μία προειδοποίηση για το εάν στον ίδιο φάκελο υπάρχει ήδη αρχείο με το ίδιο όνομα. Οι προναφερόμενοι κώδικες : 1ος αποθήκευση σε φάκελο επιλογής μας Κώδικας: Public Function PicFolder() As StringΚώδικας: Private Sub Εντολή482_Click()Τίμος |
Καλημέρα Τίμο δοκίμασε τον παρακάτω κώδικα: Κώδικας: Public Function PicFolder() As String |
Καλησπέρα Γιώργο, Σε ευχαριστώ για την άμεση απάντηση σου. Έβαλα τους τρεις κώδικες που έστειλες στην ΒΔ αλλά κάτι γίνεται με τον τελευταίο - "Public Sub Exists" - που αναφέρεται στην αντικατάσταση του αρχείου εφόσον υπάρχει ίδιο. Εμφανίζεται το MsgBox και εάν ζητήσεις αντικατάσταση του αρχείου δεν το κάνει. Μπορείς να κάνεις κάτι για να διορθωθεί και να δουλεύει ολοκληρωμένα; Και κάτι άλλο προς διευκρίνιση, όπως είναι γραμμένος ο κώδικας "Public Sub Exists" γίνεται εξαγωγή αρχείου pdf από την έκθεση "RptΔελτία Παραγγελίας" για κάθε προμηθευτή. Για κάθε εντολή εξαγωγής αρχείου της ίδιας λογικής, δηλ. αποθήκευση σε φάκελο επιλογής μου και ερώτηση εάν υπάρχει ήδη, θα πρέπει να γράφω εκ νέου τον κώδικα "Public Sub Exists" - σωστά; Ευχαριστώ Τίμος |
Καλησπέρα 1) Ο κώδικας, δε δοκιμάστηκε αφού δε διαθέτω τη ΒΔ. 2) Δε θα ξαναγράψεις τον κώδικα. 3) Μετά το μήνυμα πρόσθεσε τον κώδικα: Kill FileName και ξαναδοκίμασε. Κανονικά πρέπει να διαγράφεται το παλιό αρχείο και να αποθηκεύεται το νέο. 4) Ο φάκελος στον οποίο αποθηκεύεται το αρχείο θα πρέπει να επιτρέπει αλλαγές |
Τώρα το είδα άλλαξε το vbOk με το vbYes |
Γιώργο, Τελικά μετά από αρκετές δοκιμές ανακάλυψα πως έχει πρόβλημα ο κώδικας που παραθέτω. Μου τον έστειλες σε προηγούμενο θέμα που είχα ζητήσει βοήθεια και παρόλου που απάντησα ότι δουλεύει, αλλά λόγω φόρτου εργασίας δεν είχα παρατηρήσει ότι δεν κάνει αντικατάσταση του αρχείου. Σήμερα το πρόσεξα από την ώρα στην ημερομηνία τροποποίησης του αρχείου στις ιδιότητες, παραμένει η αρχική και δεν αλλάζει εκτελώντας την εντολή κατά την διάρκεια της ίδιας μέρας. Εάν μπορείς να βοηθήσεις θα ήταν χρήσιμο. Κώδικας: Private Sub Εντολή482_Click()Τίμος |
Καλησπέρα γιώργο, Και εγώ μόλις έστειλα την τελευταία ανάρτηση είδα την απάντηση σου : Παράθεση:
Θα κάνω και τις αλλαγές στους προηγούμενους κώδικες και θα επανέλθω με απάντηση. Ευχαριστώ για τον χρόνο σου Τίμος |
Γιώργο, Κάνοντας αντικατάσταση του vbOk με το vbYes δουλεύει τώρα και η εντολή με τον συνδιασμό των τριών κωδικών. Κάτι τελευταίο για να κλείσει το θέμα, το "Kill FileName" σε ποιο σημείο του κώδικα Public Sub Exists θα πρέπει να το προσθέσω ώστε να είναι εφαρμόσιμος και σε άλλες εντολές. Κώδικας: Public Sub Exists(FileName As String)Τίμος |
Αφού δουλεύει δε χρειάζεται να προστεθεί η εντολή Kill. |
| Η ώρα είναι 02:57. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.