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

Πώς να γράψετε δεδομένα σε αρχεία κειμένου χρησιμοποιώντας το VBA;
Η σύνταξη δεδομένων από excel σε κείμενο είναι πολύπλοκη κωδικοποίηση και απαιτεί πολύ καλή γνώση της κωδικοποίησης VBA. Ακολουθήστε τα παρακάτω βήματα για να γράψετε τον κώδικα VBA για να αντιγράψετε δεδομένα από το excel σε ένα αρχείο κειμένου.
Πριν σας δείξω τον τρόπο να γράψετε τον κώδικα, επιτρέψτε μου να εξηγήσω πώς να ανοίξετε το αρχείο κειμένου χρησιμοποιώντας μια ανοιχτή δήλωση.
Σύνταξη ανοιχτού αρχείου κειμένου
Άνοιγμα (Διαδρομή αρχείου), Για (Λειτουργία), Ως (Αριθμός αρχείου)
Διαδρομή αρχείου: Η διαδρομή του αρχείου που προσπαθούμε να ανοίξουμε στον υπολογιστή.
Λειτουργία: Η λειτουργία είναι ο έλεγχος που μπορούμε να έχουμε για το άνοιγμα αρχείων κειμένου. Μπορούμε να έχουμε τρεις τύπους ελέγχου στο αρχείο κειμένου.
- Λειτουργία εισαγωγής: Αυτό υποδηλώνει τον έλεγχο " Μόνο για ανάγνωση " του ανοίγματος αρχείου κειμένου. Εάν χρησιμοποιούμε τη "Λειτουργία εισαγωγής", δεν μπορούμε να κάνουμε τίποτα με το αρχείο. Μπορούμε απλώς να διαβάσουμε τα περιεχόμενα του αρχείου κειμένου.
- Λειτουργία εξόδου: Χρησιμοποιώντας αυτήν την επιλογή, μπορούμε να γράψουμε το περιεχόμενο σε αυτήν. Το σημείο που πρέπει να θυμόμαστε εδώ είναι ότι όλα τα υπάρχοντα δεδομένα θα αντικατασταθούν. Επομένως, πρέπει να προσέξουμε την πιθανή απώλεια παλαιών δεδομένων.
- Λειτουργία προσάρτησης: Αυτή η λειτουργία είναι εντελώς αντίθετη από τη λειτουργία OutPut. Χρησιμοποιώντας αυτήν τη μέθοδο, μπορούμε πραγματικά να γράψουμε τα νέα δεδομένα στο τέλος των υπαρχόντων δεδομένων στο αρχείο.
Αριθμός αρχείου: Αυτό θα μετρήσει τον αριθμό αρχείου κειμένου όλων των ανοιγμένων αρχείων κειμένου. Αυτό θα αναγνωρίσει τους αριθμούς αρχείων που έχουν ανοίξει σε ακέραιες τιμές από το 1 έως το 511. Η εκχώρηση του αριθμού αρχείου είναι δύσκολη και οδηγεί σε μεγάλη σύγχυση. Για αυτό, μπορούμε να χρησιμοποιήσουμε τη δωρεάν λειτουργία File.
Το Free File επιστρέφει τον μοναδικό αριθμό για τα ανοιχτά αρχεία. Με αυτόν τον τρόπο, μπορούμε να αντιστοιχίσουμε τον μοναδικό αριθμό αρχείου χωρίς καμία διπλή τιμή.
Παράδειγμα # 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

Κατ 'αρχάς, πρέπει να αναφέρουμε τον αριθμό αρχείου (εδώ έχουμε εκχωρήσει το αρχείο μέσω της μεταβλητής "αριθμός αρχείου"), και στη συνέχεια πρέπει να προσθέσουμε το περιεχόμενο που θέλουμε να προσθέσουμε σε ένα αρχείο κειμένου.
Βήμα 7: Αποθήκευση και κλείσιμο αρχείου κειμένου
Μόλις το περιεχόμενο γράφεται σε ένα αρχείο κειμένου, πρέπει να αποθηκεύσουμε και να κλείσουμε το αρχείο κειμένου.
Κώδικας:
Sub TextFile_Example1() Dim Path As String Dim FileNumber As Integer Path = "D:Excel FilesVBA FileHello.txt" 'Change the path as per your requirement FileNumber = FreeFile Open Path For Output As FileNumber Print #FileNumber, "Welcome" Print #FileNumber, "to" Print #FileNumber, "VBA" Close FileNumber End Sub

Now, run the code this manually or through shortcut excel key F5. It will write the mentioned content in the mentioned text file.

Example #2
Now we will see how to write the data of excel sheet to a text file.
For this example, I have created simple data in excel like below.

Step 1: With the continuation of the old example, define two more variables as Integer to find the last row and last column.
Code:
Sub TextFile_Example2() Dim Path As String Dim FileNumber As Integer Dim LR As Integer Dim LC As Integer End Sub

Step 2: Find the last used row and column in the worksheet.

Step 3: Now assign the file path and file number.

Step 4: Now, use the OPEN statement to open the text file.

Step 5: We need to loop through rows and columns, so declare two more variables as Integer.

Step 6: Now open Loop to loop through the row (For next loop in VBA)

Step 7: Now, to loop through columns, open one more loop inside the existing loop.

Step 8: We need to write the same line of data until it reaches the last column. So for this, apply the IF statement in VBA.

Step 9: Now, save and close the text file.

This code will write the details to a text file, but to open the text file after written, we need to use the below code.

Code:
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 = Worksheets("Text").Cells(1, Columns.Count).End(xlToLeft).Column Path = "D:Excel FilesVBA FileHello.txt" FileNumber = FreeFile Open Path For Output As FileNumber For k = 1 To LR For i = 1 To LC If i LC Then Print #FileNumber, Cells(i, k), Else Print #FileNumber, Cells(i, k) End If Next i Next k Close FileNumber Shell "notepad.exe " & Path, vbNormalFocus End Sub
Επομένως, εκτελέστε τον κωδικό χρησιμοποιώντας το πλήκτρο F5 ή χειροκίνητα. Στη συνέχεια, θα αντιγράψει τα παρακάτω δεδομένα.
