Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [VBA] Δημιουργία αρχείου για την αποθήκευση συγκεντρωτικών φακελων

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 20-09-18, 23:27
Όνομα: Τάσος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-08-2011
Μηνύματα: 57
Προεπιλογή Δημιουργία αρχείου για την αποθήκευση συγκεντρωτικών φακελων

Κύριοι καλημέρα σας,

Σε συνέχεια του προηγούμενου post Αποθήκευση Φύλλου εργασίας με επιλογή θέσης, γεννήθηκε το εξής ερώτημα:

Κατά την αποθήκευση του αρχείου, να αποθηκεύεται σε ένα άλλο αρχείο (ας το ονομάσουμε ΛΙΣΤΑ ΑΡΧΕΙΩΝ), στην στήλη Β το όνομα του αρχείου, στην στήλη C, η διεύθυνση αποθήκευσης.

Αν βέβαια μπορούμε να κάνουμε ταυτόχρονα και σύνδεση κάποιων κελιών, θα ήταν ακόμα καλύτερο.

Ευχαριστώ.
Συνημμένα Αρχεία
Τύπος Αρχείου: xls ΑΝΑΣΤΑΣΙΟΥ ΑΝΑΣΤΑΣΙΟΣ ΝΙΚΟΣ ad201040 123456789 2102103333.xls (68,0 KB, 2 εμφανίσεις)
Τύπος Αρχείου: xls ΛΙΣΤΑ ΑΡΧΕΙΩΝ.xls (20,0 KB, 7 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 21-09-18, 14:12
Όνομα: Τάσος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-08-2011
Μηνύματα: 57
Προεπιλογή

Μία δεύτερη ιδέα είναι:

Εφόσον το αρχικό excel που δουλεύω είναι ως πρότυπο, θα μπορούσε σε έναν φάκελο (πχ. ΛΙΣΤΑ ΑΡΧΕΙΩΝ), μέσα στο πρότυπο αρχείο, να αποθηκεύται η πληροφορία που θέλω; Αυτό βέβαια να γίνεται όταν πατώ το πλήκτρο "Αποθήκευση σε Excel".

ευχαριστώ
Απάντηση με παράθεση
  #3  
Παλιά 22-09-18, 12:05
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα

1) Το συνημμένο SaveFile.xls περιέχει τον κώδικα στον οποίο αναφέρομαι και αποτελεί το πρότυπο για τα άλλα αρχεία.

2) Όταν ανοίγουμε ένα βιβλίο εργασίας από πρότυπο, ουσιαστικά δημιουργείται νέο βιβλίο και μέχρι να αποθηκευτεί, το Path είναι κενό.

Είναι φανερό συνεπώς ότι δεν μπορούμε να χρησιμοποιήσουμε το Path του βιβλίου, ως βασικό φάκελο για τη δημιουργία υποφακέλων.

3) Τα αρχεία του Excel, από προεπιλογή, αποθηκεύονται σε ένα φάκελο τον οποίο μπορούμε να δούμε ή να προσαρμόσουμε από τις επιλογές (συνημμένη εικόνα).

Ο φάκελος αυτός υπάρχει σ’ όλους τους υπολογιστές και συνεπώς θα μπορούσε να αποτελέσει τη βάση, για τους ζητούμενους υποφακέλους.

Αυτόν το φάκελο χρησιμοποιώ στον κώδικα.

4) Ο κώδικας δημιουργεί τους υποφακέλους YEB\ΑΙΤΗΣΕΙΣ\(Επώνυμο Όνομα Όνομα Πατέρα).

Το αρχείο, σύμφωνα με τον κώδικα που ανέβασες, έχει όνομα: (Επώνυμο Όνομα Όνομα Πατέρα Ταυτότητα ΑΦΜ Τηλέφωνο)

Αφού το όνομα του αρχείου περιλαμβάνει και το όνομα του φακέλου, θα πρέπει να εξεταστεί αν χρειάζεται ο υποφάκελος,κλπ.

5) Το συνημμένο ListFiles.xls είναι το αρχείο στο οποίο θα καταχωρούνται, ως υπεσύνδεσμοι, τα στοιχεία των αρχείων που αποθηκεύονται.

Το αρχείο αυτό θα πρέπει να τοποθετηθεί σταθερά σε κάποιο φάκελο και αυτό θα πρέπει να οριστεί στον κώδικα του πρότυπου (Const strListFiles=”....”).

6) Ο κώδικας του πρότυπου ανοίγει το αρχείο ListFiles.xls κάνει τις σχετικές καταχωρήσεις, το αποθηκεύει και το κλείνει.

Αν θέλουμε να μη κλείνει κάνουμε τη σχετική εντολή (wb.Close) σχόλιο.

Τάσο, ελπίζω να κάνεις τις σχετικές προσαρμογές και να λύσεις το πρόβλημά σου.
Συνημμένα Thumbnails
Δημιουργία αρχείου για την αποθήκευση συγκεντρωτικών φακελων-savefile.png  
Συνημμένα Αρχεία
Τύπος Αρχείου: xls SaveFile.xls (63,0 KB, 7 εμφανίσεις)
Τύπος Αρχείου: xls ListFiles.xls (64,0 KB, 8 εμφανίσεις)
Απάντηση με παράθεση
  #4  
Παλιά 23-09-18, 00:44
Όνομα: Τάσος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-08-2011
Μηνύματα: 57
Προεπιλογή

Γιώργο καλημέρα και σε ευχαριστώ για την απάντησή σου.

Το αρχείο δούλεψε, ο κώδικας προσαρμόστηκε, αλλά .... οι ερωτήσεις και οι απορίες, πολλές.

Μπορεί στο αρχείο που αποθηκεύονται τα στοιχεία να έρθουν αποτελέσματα από συγκεκριμένα κελιά και να πάνε σε συγκεκριμένες στήλες.

Ανεβάζω σχετικά αρχεία.
Συνημμένα Αρχεία
Τύπος Αρχείου: xls ΑΝΑΣΤΑΣΙΟΥ ΑΝΑΣΤΑΣΙΟΣ ΝΙΚΟ ΛΑΚΚΑ ΓΕΩΤΡΗΣΗ 3320305060101.xls (88,5 KB, 3 εμφανίσεις)
Τύπος Αρχείου: xls ListFiles.xls (79,5 KB, 5 εμφανίσεις)
Απάντηση με παράθεση
  #5  
Παλιά 23-09-18, 15:58
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Τάσο δες το συνημμένο.

Αν το αποσυμπιέσεις θα πάρεις το πρότυπο και το αρχείο ListFiles.

Στον κώδικα:

1) Θα πρέπει να ορίσεις τη σωστή θέση του ListFiles.xls

2) Αν προσθέσεις και άλλα φύλλα στο ListFiles.xls, πιθανόν να χρειαστεί προσαρμογή η γραμμή:

Set rng = wb.Worksheets(1).Range("j2").Resize(10000) '<= 1ο φύλλο.

3) Άλλαξα τα ονόματα των φύλλων στο περιβάλλον του κώδικα σε MultiIns και Ergo.

Αν σε άλλα σημεία του κώδικα χρησιμοποιούνται τα παλιά ονόματα (φύλλο4, φύλλο2) θα πρέπει να αντικατασταθούν με τα νέα.

Τάσο, έχω την εντύπωση ότι δουλεύεις ανορθόδοξα.

Από ότι κατάλαβα η εφαρμογή σου έπρεπε να αναπτυχθεί στην Access.

Αλλά και στο Excel, θα έπρεπε να έχει παρόμοια δομή.

Τέλος επειδή, μάλλον δεν έχεις καταλήξει στο τι ακριβώς θέλεις, γυροφέρνουμε στο ίδιο θέμα (αποθήκευση του αρχείου).
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Tasos2.zip (36,5 KB, 12 εμφανίσεις)
Απάντηση με παράθεση
  #6  
Παλιά 23-09-18, 22:28
Όνομα: Τάσος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-08-2011
Μηνύματα: 57
Προεπιλογή

Γιώργο καλησπέρα,

Ο κώδικας δούλεψε και σε ευχαριστώ πολύ.

Όσον αναφορά για το έργο που ξεκίνησα, αυτή την στιγμή νιώθω πάρα πολύ ικανοποιημένος. Λειτουργώ στο αντικείμενο αυτό που ασχολούμαι (Γεωπόνος -μελετητής) με το προγραμματάκι αυτό και κάνω εύκολα και γρήγορα την δουλειά μου.

Σε αυτό με βοήθησε το Forum, πάρα πολύ και σας ευχαριστώ όλους.

Όπως έχω αναφέρει και πάλι φοβόμουν να αρχίσω την Access, επειδή με τις λίγες γνώσεις που έχω, πίστευα ότι θα έτρωγα πάρα πολύ χρόνο για να πετύχω αυτό που μέχρι τώρα έχω.

Το Excel είναι ένα πολύ καλό εργαλείο για μένα, για γρήγορα μικρά πράγματα τις δουλειάς μου, όμως μάλλον τώρα στα ...ήντα θα πρέπει να μάθω κώδικα και Access.

Ευχαριστώ ....
Απάντηση με παράθεση
  #7  
Παλιά 23-09-18, 23:24
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Εντάξει Τάσο εσύ ξέρεις.

Θα ήταν καλύτερα, στον κώδικα, να αντικαταστήσεις την εντολή:

myPath = CurDir

με την:

myPath = Application.DefaultFilePath

Καλή συνέχεια.
Απάντηση με παράθεση
  #8  
Παλιά 24-09-18, 23:02
Όνομα: Τάσος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-08-2011
Μηνύματα: 57
Προεπιλογή

Γιώργο καλησπέρα,

Αντικατέστησα αυτό που μου είπες, όμως συμβαίνει κάτι περίεργο.

Αποθηκεύει στον C:\SXEDIA\ΥΕΒ\ΑΙΤΗΣΕΙΣ\, και όχι στο "\Τα έγγραφά μου\ΥΕΒ\ΑΙΤΗΣΕΙΣ\". Γιατί μπορεί να συμβάνει αυτό; Ο κώδικας δεν έχει τέτοια εντολή. Ο φάκελος C:\SXEDIA\ δημιουργήθηκε τώρα από το excel, δεν υπήρχε πριν στον υπολογιστή μου.

Χρειάζεται να κάνω κάτι στον κώδικα ή αλλού ;

Στο σημείο του κώδικα που ελέγχει "αν το κελί D1, είναι κενό (myCell = Φύλλο1.Range("d1").Value), θέλω να ελέγξω και το κελί a1 του φύλλου1, αν είναι κενό, πως μπορώ να το κάνω;

Ευχαριστώ
Απάντηση με παράθεση
  #9  
Παλιά 25-09-18, 11:05
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα

Τάσο ο φάκελος application.DefaultFilePath είναι ο φάκελος που, από προεπιλογή, αποθηκεύει το Excel τα αρχεία του.

Σε σχέση με τον CurDir είναι πιο σταθερός, γι’ αυτό και τον πρότεινα.

Αν ανοίξουμε ένα αρχείο, κάθε φορά που το αποθηκεύουμε (πχ σε διαφορετικούς φακέλους) το CurDir μεταβάλλεται και παίρνει τιμή τη διαδρομή του τελευταίου φακέλου αποθήκευσης.

Ο φάκελος application.DefaultFilePath φαίνεται και μπορεί να αλλάξει από τις ρυθμίσεις του Excel.

Στον παρακάτω σύνδεσμο μπορείς να δεις πως γίνεται.

https://www.askvg.com/how-to-change-...rosoft-office/


1) Η αποθήκευση στο φάκελο C:\SXEDIA\ΥΕΒ\ΑΙΤΗΣΕΙΣ μπορεί να εξηγηθεί μόνο αν, στη συγκεκριμένη εγκατάσταση του Excel, ο φάκελος application.DefaultFilePath ήταν ο C:\SXEDIΑ.

Σε κάθε περίπτωση έχεις τη δυνατότητα να ορίσεις το myPath σε κάποιο συγκεκριμένο υπάρχοντα φάκελο.

Για παράδειγμα αντί myPath= Application.DefaultFilePath βάλε:

myPath="C:\Users\Kapet\Desktop\Tasos

2) Κάτω από τον κώδικα ελέγχου του κελιού d1 βάλε τον κώδικα για τον έλεγχο του κελιού a1.

Κώδικας:
    'Ελέγχεται αν είναι κενό το a1
    If WorksheetFunction.Trim(Φύλλο1.Range("a1")) = "" Then
        MsgBox ("Το κελί a1, δεν περιέχει δεδομένα")
        Φύλλο1.Range("a1").Activate
        Exit Sub
    End If
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Γενικά] Είναι εφικτή η δημιουργία αυτού του αρχείου; Skakinen Excel - Ερωτήσεις / Απαντήσεις 35 05-08-19 19:56
Περιεχόμενο Φακέλων σε Πίνακα ggreg75 Access - Ερωτήσεις / Απαντήσεις 5 16-03-17 13:43
[Γενικά] Εκτύπωση αρχείων φακέλων George R Excel - Ερωτήσεις / Απαντήσεις 0 04-04-15 20:11
Άνοιγμα Αρχείου 'Εξερεύνηση των Windows' με δημιουργία Φακέλου john-john Access - Ερωτήσεις / Απαντήσεις 3 14-03-12 08:20


Η ώρα είναι 03:14.