See õpetus näitab, kuidas tekstifaili VBA -s stringiks lugeda.
Me võime tekstifaili lugeda ridade kaupa või kogu failina.
Lugege kogu tekstifail stringiks
Tekstifaili tekst koosneb tavaliselt mitmest reast, mis on eraldatud eraldajatega. Need võivad olla koma (“,”), koma tühikuga (“,“), semikoolon (“;”), semikoolon tühikuga (“;“), tühik (““), sakk (vbTab ) või harvadel juhtudel mõni muu tegelane, näiteks tilde (~). Read eraldatakse tavaliselt reavahega (vbCRLF).
Lihtsaim viis kogu tekstifaili lugemiseks VBA -s on käivitada järgmine kood, mis paigutab kogu tekstifaili sisu stringimuutjasse. See protseduur kasutab VBA Open avaldust ja VBA FreeFile funktsiooni.
12345678910 | Alamlugemisfail ()Dim iTxtFile täisarvunaDim strFile kui stringDim strFileText stringinastrFile = "C: \ Test \ TestFile.txt"iTxtFile = FreeFileAvage strFile FreeFile'i sisestamiseksstrFileText = Sisend (LOF (iTxtFile), iTxtFile)Sulgege iTxtFileEnd Sub |
Tekstifaili saame lugeda ka VBA -s, kasutades FileSystemObjecti. Allolevas koodis oleme kasutanud failisüsteemi objektiga hilist sidumist.
1234567891011 | Sub ReadTextFile ()Dim strText stringinaDim FSO objektinaDim TSO kui objektMäära FSO = CreateObject ("Scripting.FileSystemObject")Määra TSO = FSO.OpenTextFile ("C: \ Test \ TestFile.txt")strText = TSO.ReadAllTSO. SuleMäära TSO = pole midagiMäära FSO = pole midagiEnd Sub |
Samuti saame koodis kasutada varajast sidumist ja deklareerida failisüsteemi objekti, luues oma Exceli projektis viite failisüsteemi objektile.
1234567891011 | Sub ReadTextFile ()Dim strText stringinaDim FSO kui uus FileSystemObjectDim TSO kui objektMäära FSO = CreateObject ("Scripting.FileSystemObject")Määra TSO = FSO.OpenTextFile ("C: \ Test \ TestFile.txt")strText = TSO.ReadAllTSO. SuleMäära TSO = pole midagiMäära FSO = pole midagiEnd Sub |