Acest tutorial va arăta cum să citiți un fișier text într-un șir în VBA.
Putem citi fișierul text rând cu rând sau ca un fișier întreg.
Citiți un întreg fișier text într-un șir
Textul dintr-un fișier text este de obicei format din mai multe linii, separate prin delimitatori. Acestea pot fi o virgulă („,”), o virgulă cu spațiu („,„), un punct și virgulă („;”), un punct și virgulă cu spațiu („;„), un spațiu („„), o filă (vbTab ) sau, în cazuri rare, orice alt personaj, cum ar fi o tildă (~). Liniile sunt în mod normal separate printr-o întrerupere de linie (vbCRLF).
Cel mai simplu mod de a citi un întreg fișier text în VBA este să rulați următorul cod care va plasa întregul conținut al fișierului text într-o variabilă șir. Această procedură utilizează declarația VBA Open și funcția VBA FreeFile.
12345678910 | SubCitire fișier ()Dim iTxtFile Ca întregDim strFile As StringDim strFileText Ca șirstrFile = "C: \ Test \ TestFile.txt"iTxtFile = FreeFileDeschideți strFile pentru intrare ca FreeFilestrFileText = Intrare (LOF (iTxtFile), iTxtFile)Închideți iTxtFileSfârșitul Sub |
De asemenea, putem citi un fișier text în VBA folosind FileSystemObject. În codul de mai jos am folosit legarea târzie cu obiectul de sistem de fișiere.
1234567891011 | Sub ReadTextFile ()Dim strText Ca șirDim FSO ca obiectDim TSO ca obiectSetați FSO = CreateObject ("Scripting.FileSystemObject")Setați TSO = FSO.OpenTextFile ("C: \ Test \ TestFile.txt")strText = TSO.ReadAllTSO.ÎnchideSet TSO = NimicSet FSO = NothingSfârșitul Sub |
De asemenea, putem utiliza legarea timpurie în cod și putem declara obiectul sistemului de fișiere, creând o referință în proiectul nostru Excel la obiectul sistemului de fișiere.
1234567891011 | Sub ReadTextFile ()Dim strText Ca șirDim FSO ca New FileSystemObjectDim TSO ca obiectSetați FSO = CreateObject ("Scripting.FileSystemObject")Setați TSO = FSO.OpenTextFile ("C: \ Test \ TestFile.txt")strText = TSO.ReadAllTSO.ÎnchideSet TSO = NimicSet FSO = NothingSfârșitul Sub |