VBA - Εγγραφή σε αρχείο κειμένου

Πίνακας περιεχομένων

Αυτό το σεμινάριο θα δείξει πώς να γράφετε σε αρχεία κειμένου χρησιμοποιώντας VBA.

Γράψτε σε ένα αρχείο κειμένου

Οι παρακάτω κωδικοί χρησιμοποιούν το FileSystemObjectΤο Για να το χρησιμοποιήσετε, θα πρέπει να ορίσετε μια αναφορά στη βιβλιοθήκη χρόνου εκτέλεσης σεναρίων VB.

Γράψτε σε νέο αρχείο κειμένου

Με την CreateTextFile μέθοδος για FileSystemObject μπορείτε να δημιουργήσετε και στη συνέχεια να προσθέσετε περιεχόμενο σε ένα αρχείο κειμένου:

123456789 Sub FSOCreateAndWriteToTextFile ()Dim FSO ως νέο FileSystemObjectΟρισμός FSO = CreateObject ("Scripting.FileSystemObject")Ορισμός FileToCreate = FSO.CreateTextFile ("C: \ Test \ TestFile.txt")FileToCreate.Write "test line"FileToCreate.CloseΤέλος υπο

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

Γράψτε στο υπάρχον αρχείο κειμένου

Για να γράψετε σε ένα υπάρχον αρχείο κειμένου, μπορείτε να χρησιμοποιήσετε το OpenTextFile μέθοδος για FileSystemObject με ΓιαΓράψιμο τρόπος.

123456789 Υπο FSOWriteToTextFile ()Dim FSO ως νέο FileSystemObjectΟρισμός FSO = CreateObject ("Scripting.FileSystemObject")Ορισμός FileToWrite = FSO.OpenTextFile ("C: \ Test \ TestFile.txt", ForWriting)FileToWrite.Write "δοκιμαστική γραμμή"FileToWrite.CloseΤέλος υπο

Λάβετε υπόψη ότι δεν χρειάζεται απαραίτητα το FileSystemObject για να γράψετε σε ένα υπάρχον αρχείο κειμένου. Το παραπάνω παράδειγμα εμφανίζεται με άλλο τρόπο σε αυτόν τον παρακάτω κώδικα (δείτε άλλο παράδειγμα στην ενότητα Εύρος δεδομένων σε αρχείο αρχείου):

123456789 Sub WriteToTextFile ()Dim Name Name ως συμβολοσειράFileName = "C: \ Test \ TestFile.txt"Ανοίξτε το Όνομα αρχείου για έξοδο ως #1Εκτύπωση #1, "γραμμή δοκιμής"Κλείσιμο #1Τέλος υπο

Λάβετε υπόψη ότι η χρήση της εντολής Γράψτε αντί για Εκτύπωση θα έχει ως αποτέλεσμα το πρόσθετο περιεχόμενο να περικλείεται από εισαγωγικά. Έχοντας και τις δύο εντολές στη μακροεντολή σας

12 Γράψτε #1, "δοκιμαστική γραμμή #1"Εκτύπωση #1, "δοκιμαστική γραμμή #2"

θα έχει ως αποτέλεσμα ένα αρχείο κειμένου όπως αυτό:

Προγραμματισμός VBA | Το Code Generator λειτουργεί για εσάς!

Προσθήκη στο αρχείο κειμένου

Αλλάζοντας τη λειτουργία στον παραπάνω κώδικα σε ForAppend, μπορεί να προστεθεί μια γραμμή στο τέλος του αρχείου κειμένου:

1 Ορισμός FileToWrite = FSO.OpenTextFile ("C: \ Test \ TestFile.txt", ForAppending)

Μέθοδος WriteLine

Αυτή η μέθοδος προσαρτά τη συμβολοσειρά εισόδου ως ξεχωριστή γραμμή στο υπάρχον περιεχόμενο.

Μέθοδος εγγραφής

Η συμβολοσειρά εισαγωγής προσαρτάται στην ίδια γραμμή με το υπάρχον περιεχόμενο.

Κουραστήκατε να ψάχνετε για παραδείγματα κώδικα VBA; Δοκιμάστε το AutoMacro!

WriteBlankLines

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

Αυτός ο κώδικας παρακάτω απεικονίζει τη διαφορά μεταξύ των διαφορετικών μεθόδων γραφής:

12345678910111213 Sub WriteMethods ()Dim FSO ως νέο FileSystemObjectΟρισμός FSO = CreateObject ("Scripting.FileSystemObject")Ορισμός FileToWrite = FSO.OpenTextFile ("C: \ Test \ TestFile.txt", ForAppending)FileToWrite.Write "δοκιμαστική γραμμή #1"FileToWrite.Write "δοκιμαστική γραμμή #2"FileToWrite.WriteBlankLines (3)FileToWrite.WriteLine "δοκιμαστική γραμμή #3"FileToWrite.WriteLine "δοκιμαστική γραμμή #4"FileToWrite.CloseΤέλος υπο

Και το αποτέλεσμα:

Προγραμματισμός VBA | Το Code Generator λειτουργεί για εσάς!

Εύρος δεδομένων σε αρχείο κειμένου

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

12345678910111213141516171819 Sub OutputToTextFile ()Dim FileName As String, LineText As StringDim MyRange As Range, i, jFileName = "C: \ Test \ TestFile.txt" 'μπορείτε να καθορίσετε εδώ το όνομα αρχείου κειμένου που θέλετε να δημιουργήσετεΑνοίξτε το Όνομα αρχείου για έξοδο ως #1Ορίστε το MyRange = Range ("data") 'υποθέτει ότι έχετε ένα φύλλο δεδομένων με το όνομα "data" στο φύλλο εργασίας σαςΓια i = 1 στο MyRange.Rows.CountΓια j = 1 Προς MyRange.Columns.CountLineText = IIf (j = 1, "", LineText & ",") & MyRange.Cells (i, j) "το αρχείο κειμένου που δημιουργείται θα έχει διαχωριστικό κόμμαΕπόμενο jΕκτύπωση #1, LineText 'χρησιμοποιώντας την εντολή Γράψτε αντί για Εκτύπωση θα έχει ως αποτέλεσμα να έχετε τα δεδομένα σας σε εισαγωγικά στο αρχείο κειμένου εξόδουΕπόμενο iΚλείσιμο #1Τέλος υπο

Array to Text File

Μπορείτε επίσης να αποθηκεύσετε τον πίνακα δεδομένων σας σε ένα αρχείο κειμένου όπως αυτό:

12345678910111213141516 Sub SaveArrayToTextFile ()Dim MyArray As VariantDim FSO ως νέο FileSystemObjectΟρισμός FSO = CreateObject ("Scripting.FileSystemObject")MyArray = Array (Array ("00", "01"), Array ("10", "11"), Array ("20", "21"))Ορισμός FileToCreate = FSO.CreateTextFile ("C: \ Test \ TestFile.txt")Για n = 0 προς UBound (MyArray)FileToCreate.WriteLine MyArray (n) (0) & "," & MyArray (n) (1)ΕπόμενοFileToCreate.CloseΤέλος υπο

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave