Αρχείο κειμένου εγγραφής VBA | Γράψτε δεδομένα Excel σε αρχεία κειμένου χρησιμοποιώντας τον κώδικα VBA

Excel VBA Σύνταξη αρχείου κειμένου

Στο VBA μπορούμε να ανοίξουμε ή να διαβάσουμε ή να γράψουμε ένα αρχείο κειμένου, για να γράψουμε ένα αρχείο κειμένου σημαίνει τα δεδομένα που έχουμε σε ένα φύλλο excel και το θέλουμε σε ένα αρχείο κειμένου ή ένα αρχείο σημειωματάριου, υπάρχουν δύο μέθοδοι που πρέπει να κάνουμε, μία είναι από η χρήση της ιδιότητας αντικειμένου συστήματος αρχείων του VBA και άλλης είναι με τη χρήση της μεθόδου Άνοιγμα και εγγραφής στο VBA.

Στις περισσότερες από τις εταιρικές εταιρείες, μόλις ολοκληρωθεί η αναφορά, φαίνεται να ανεβάζουν την αναφορά στη βάση δεδομένων. Για να μεταφορτώσουν στη βάση δεδομένων χρησιμοποιούν τη μορφή "Αρχεία κειμένου" για να ενημερώσουν τη βάση δεδομένων. Συνήθως αντιγράφουμε τα δεδομένα από το excel και επικολλάμε σε ένα αρχείο κειμένου. Ο λόγος για τον οποίο βασιζόμαστε σε αρχεία κειμένου, επειδή είναι πολύ εύκολο να δουλέψετε λόγω των ελαφρών και απλούστερων τρόπων τους. Με τη χρήση κωδικοποίησης VBA μπορούμε να αυτοματοποιήσουμε την εργασία αντιγραφής δεδομένων από αρχείο excel σε αρχείο κειμένου. Σε αυτό το άρθρο, θα σας δείξουμε πώς να αντιγράψετε ή να γράψετε δεδομένα από το αρχείο excel σε αρχείο κειμένου χρησιμοποιώντας τον κώδικα VBA.

Πώς να γράψετε δεδομένα σε αρχεία κειμένου χρησιμοποιώντας το VBA;

Η σύνταξη δεδομένων από excel σε κείμενο είναι πολύπλοκη κωδικοποίηση και απαιτεί πολύ καλή γνώση της κωδικοποίησης VBA. Ακολουθήστε τα παρακάτω βήματα για να γράψετε τον κώδικα VBA για να αντιγράψετε δεδομένα από το excel σε ένα αρχείο κειμένου.

Πριν σας δείξω τον τρόπο να γράψετε τον κωδικό, επιτρέψτε μου να εξηγήσω πώς να ανοίξετε το αρχείο κειμένου χρησιμοποιώντας μια ανοιχτή δήλωση.

Σύνταξη ανοιχτού αρχείου κειμένου

Άνοιγμα [Διαδρομή αρχείου], Για [Λειτουργία], Ως [Αριθμός αρχείου]

Διαδρομή αρχείου: Η διαδρομή του αρχείου που προσπαθούμε να ανοίξουμε στον υπολογιστή.

Λειτουργία: Η λειτουργία είναι ο έλεγχος που μπορούμε να έχουμε για το άνοιγμα αρχείων κειμένου. Μπορούμε να έχουμε τρεις τύπους ελέγχου στο αρχείο κειμένου.

  • Λειτουργία εισαγωγής: Αυτό υποδηλώνει τον έλεγχο " Μόνο για ανάγνωση " του ανοίγματος αρχείου κειμένου. Εάν χρησιμοποιούμε το "Input Mode" δεν μπορούμε να κάνουμε τίποτα με το αρχείο. Μπορούμε απλώς να διαβάσουμε τα περιεχόμενα του αρχείου κειμένου.
  • Λειτουργία εξόδου: Χρησιμοποιώντας αυτήν την επιλογή μπορούμε να γράψουμε το περιεχόμενο σε αυτό. Το σημείο που πρέπει να θυμόμαστε εδώ είναι ότι όλα τα υπάρχοντα δεδομένα θα αντικατασταθούν. Επομένως, πρέπει να προσέξουμε την πιθανή απώλεια παλαιών δεδομένων.
  • Λειτουργία προσάρτησης: Αυτή η λειτουργία είναι εντελώς αντίθετη από τη λειτουργία OutPut. Χρησιμοποιώντας αυτήν τη μέθοδο μπορούμε πραγματικά να γράψουμε τα νέα δεδομένα στο τέλος των υπαρχόντων δεδομένων στο αρχείο.

Αριθμός αρχείου: Αυτό θα μετρήσει τον αριθμό αρχείου κειμένου όλων των ανοιγμένων αρχείων κειμένου. Αυτό θα αναγνωρίσει τους αριθμούς αρχείων που έχουν ανοίξει σε ακέραιες τιμές από το 1 έως το 511. Η εκχώρηση του αριθμού αρχείου είναι δύσκολη και οδηγεί σε μεγάλη σύγχυση. Για αυτό, μπορούμε να χρησιμοποιήσουμε τη δωρεάν λειτουργία File.

Το Free File επιστρέφει τον μοναδικό αριθμό για τα ανοιχτά αρχεία. Με αυτόν τον τρόπο μπορούμε να αντιστοιχίσουμε τον μοναδικό αριθμό αρχείου χωρίς καμία διπλή τιμή.

Μπορείτε να πραγματοποιήσετε λήψη αυτού του προτύπου αρχείου κειμένου εγγραφής VBA εδώ - Πρότυπο αρχείων εγγραφής VBA

Παράδειγμα # 1

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

Ας υποθέσουμε ότι είχατε ήδη ένα αρχείο κειμένου με το όνομα "Hello.txt" στον χώρο αποθήκευσης του υπολογιστή σας και θα σας δείξουμε πώς να γράψετε τα δεδομένα σε αυτό.

Βήμα 1: Δήλωση μεταβλητής

Δηλώστε τη μεταβλητή για να κρατήσετε τη διαδρομή αρχείου ως συμβολοσειρά.

Κώδικας:

 Sub TextFile_Example1 () Dim Path ως String End Sub 

Βήμα 2: Προσδιορίστε τον αριθμό αρχείου

Για να προσδιορίσετε ποιον αριθμό αρχείου αναφερόμαστε για να δηλώσουμε μια ακόμη μεταβλητή ως Integer.

Κώδικας:

 Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer End Sub 

Βήμα 3: Εκχώρηση διαδρομής αρχείου

Τώρα για τη μεταβλητή Path αντιστοιχίστε τη διαδρομή αρχείου με ένα όνομα αρχείου.

Κώδικας:

 Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Αλλάξτε τη διαδρομή σύμφωνα με τις απαιτήσεις σας Τέλος Sub 

Βήμα 4: Εκχώρηση δωρεάν λειτουργίας αρχείου

Τώρα για τη μεταβλητή Αριθμός αρχείου αντιστοιχίστε τη λειτουργία "Δωρεάν αρχείο" για να αποθηκεύσετε μοναδικό αριθμό αρχείου.

Κώδικας:

 Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Αλλάξτε τη διαδρομή σύμφωνα με τις απαιτήσεις σας FileNumber = FreeFile End Sub 

Βήμα 5: Άνοιγμα αρχείου κειμένου

Τώρα πρέπει να ανοίξουμε το αρχείο κειμένου για να το δουλέψουμε. Όπως εξήγησα, πρέπει να χρησιμοποιήσουμε τη δήλωση OPEN για να ανοίξουμε το αρχείο κειμένου.

Βήμα 6: Χρησιμοποιήστε τη μέθοδο εκτύπωσης / εγγραφής

Μόλις ανοίξει το αρχείο πρέπει να γράψουμε κάτι σε αυτό. Για να γράψουμε στο αρχείο κειμένου πρέπει να χρησιμοποιήσουμε είτε τη μέθοδο «Εγγραφή» είτε «Εκτύπωση».

Κώδικας:

 Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Αλλάξτε τη διαδρομή σύμφωνα με τις απαιτήσεις σας FileNumber = FreeFile Open Path για έξοδο ως FileNumber Print #FileNumber, " Καλώς ορίσατε "Print #FileNumber", "Print #FileNumber," VBA "End Sub 

Αρχικά, πρέπει να αναφέρουμε τον αριθμό αρχείου (εδώ έχουμε εκχωρήσει το αρχείο μέσω της μεταβλητής "FileNumber"), και στη συνέχεια πρέπει να προσθέσουμε το περιεχόμενο που θέλουμε να προσθέσουμε σε ένα αρχείο κειμένου.

Βήμα 7: Αποθήκευση και κλείσιμο αρχείου κειμένου

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

Κώδικας:

 Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Αλλάξτε τη διαδρομή σύμφωνα με τις απαιτήσεις σας FileNumber = FreeFile Open Path για έξοδο ως FileNumber Print #FileNumber, " Καλώς ορίσατε "Εκτύπωση #FileNumber", "Εκτύπωση #FileNumber", "VBA" Κλείσιμο SubNail FileNumber 

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

Παράδειγμα # 2

Τώρα θα δούμε πώς να γράφουμε τα δεδομένα του φύλλου excel σε ένα αρχείο κειμένου.

Για αυτό το παράδειγμα, έχω δημιουργήσει απλά δεδομένα στο Excel όπως παρακάτω.

Βήμα 1: Με τη συνέχιση του παλιού παραδείγματος ορίστε δύο ακόμη μεταβλητές ως Integer για να βρείτε την τελευταία σειρά και την τελευταία στήλη.

Κώδικας:

 Sub TextFile_Example2 () Dim Path As String Dim FileNumber As Integer Dim LR As Integer Dim LC As Integer End Sub 

Βήμα 2: Βρείτε τη γραμμή και τη στήλη που χρησιμοποιήθηκε τελευταία στο φύλλο εργασίας.

Βήμα 3: Τώρα ορίστε τη διαδρομή αρχείου και τον αριθμό αρχείου

Βήμα 4: Τώρα χρησιμοποιήστε τη δήλωση OPEN για να ανοίξετε το αρχείο κειμένου.

Βήμα 5: Πρέπει να βρούμε γραμμές και στήλες, οπότε δηλώστε δύο ακόμη μεταβλητές ως ακέραιο.

Βήμα 6: Τώρα ανοίξτε το Loop για βρόχο στη σειρά (Για τον επόμενο βρόχο στο VBA)

Βήμα 7: Τώρα για να περάσετε μέσω των στηλών ανοίξτε έναν ακόμη βρόχο μέσα στον υπάρχοντα βρόχο.

Βήμα 8: Πρέπει να γράψουμε την ίδια γραμμή δεδομένων μέχρι να φτάσει στην τελευταία στήλη. Για αυτό ισχύει η δήλωση IF στο VBA

Βήμα 9: Τώρα αποθηκεύστε και κλείστε το αρχείο κειμένου.

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

Κώδικας:

 Sub TextFile_Example2 () Dim Path As String Dim FileNumber As Integer Dim LR As Integer Dim LC As Integer Dim k As Integer Dim i As Integer LR = Worksheets ("Text"). Cells (Rows.Count, 1). End (xlUp) .Row LC = Φύλλα εργασίας ("Κείμενο"). Κελιά (1, Στήλες. Αριθμός). Τέλος (xlToLeft). Διαδρομή στήλης = "D: \ Excel Files \ VBA File \ Hello.txt" FileNumber = FreeFile Open Path For Output As FileNumber For k = 1 To LR For i = 1 To LC Εάν i LC τότε Εκτυπώστε #FileNumber, Cells (i, k), Else Print #FileNumber, Cells (i, k) End if Next i Next k Κλείσιμο FileNumber Shell "σημειωματάριο .exe "& Path, vbNormalFocus End Sub 

Έτσι, εκτελέστε τον κωδικό χρησιμοποιώντας το πλήκτρο F5 ή χειροκίνητα τότε, θα αντιγράψει τα δεδομένα όπως τα παρακάτω