VBA - Čítanie textového súboru do reťazca

Tento tutoriál ukáže, ako vo VBA čítať textový súbor do reťazca.

Textový súbor môžeme čítať buď po riadkoch, alebo ako celý súbor.

Prečítajte si celý textový súbor do reťazca

Text v textovom súbore je obvykle tvorený niekoľkými riadkami, oddelenými oddeľovačmi. Môžu to byť čiarky („,“), čiarka s medzerou („,“), bodkočiarka („;“), bodkočiarka s medzerou („;“), medzera („“), tabulátor (vbTab ) alebo v zriedkavých prípadoch akýkoľvek iný znak, ako napríklad vlnovka (~). Riadky sú spravidla oddelené zalomením riadka (vbCRLF).

Najľahší spôsob, ako čítať celý textový súbor vo VBA, je spustiť nasledujúci kód, ktorý umiestni celý obsah textového súboru do reťazcovej premennej. Tento postup používa príkaz VBA Open a funkciu VBA FreeFile.

12345678910 Vedľajší súbor na čítanie ()Dim iTxtFile ako celé čísloDim strFile ako reťazecDim strFileText ako reťazecstrFile = "C: \ Test \ TestFile.txt"iTxtFile = Voľný súborOtvorte súbor strFile pre vstup ako súbor FreeFilestrFileText = Vstup (LOF (iTxtFile), iTxtFile)Zatvorte súbor iTxtFileKoniec pod

Textový súbor vo VBA môžeme čítať aj pomocou programu FileSystemObject. V nižšie uvedenom kóde sme použili neskorú väzbu s objektom systému súborov.

1234567891011 Sub ReadTextFile ()Dim strText ako reťazecDim FSO ako objektDim TSO ako objektNastaviť FSO = CreateObject ("Scripting.FileSystemObject")Nastaviť TSO = FSO.OpenTextFile ("C: \ Test \ TestFile.txt")strText = TSO.ReadAllTSO.ZavrieťNastaviť TSO = ničNastaviť FSO = NičKoniec pod

Môžeme tiež použiť skorú väzbu v kóde a deklarovať objekt systému súborov vytvorením referencie v našom projekte programu Excel na objekt systému súborov.

1234567891011 Sub ReadTextFile ()Dim strText ako reťazecDim FSO ako nový FileSystemObjectDim TSO ako objektNastaviť FSO = CreateObject ("Scripting.FileSystemObject")Nastaviť TSO = FSO.OpenTextFile ("C: \ Test \ TestFile.txt")strText = TSO.ReadAllTSO.ZavrieťNastaviť TSO = ničNastaviť FSO = NičKoniec pod

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave