Denne opplæringen vil demonstrere hvordan du leser en tekstfil til en streng i VBA.
Vi kan enten lese tekstfilen linje for linje eller som en hel fil.
Les en hel tekstfil i en streng
Tekst i en tekstfil består vanligvis av flere linjer, atskilt med skilletegn. Disse kan være et komma (","), et komma med mellomrom (","), et semikolon (";"), et semikolon med mellomrom (";"), et mellomrom (""), en fane (vbTab ) eller i sjeldne tilfeller andre tegn som en tilde (~). Linjene er normalt atskilt med et linjeskift (vbCRLF).
Den enkleste måten å lese en hel tekstfil i VBA er å kjøre følgende kode som plasserer hele innholdet i tekstfilen i en strengvariabel. Denne prosedyren bruker VBA Open -setningen og VBA FreeFile -funksjonen.
12345678910 | Sub ReadFile ()Dim iTxtFile som heltallDim strFile As StringDim strFileText As StringstrFile = "C: \ Test \ TestFile.txt"iTxtFile = FreeFileÅpen strFile For Input As FreeFilestrFileText = Input (LOF (iTxtFile), iTxtFile)Lukk iTxtFileSlutt Sub |
Vi kan også lese en tekstfil i VBA ved å bruke FileSystemObject. I koden nedenfor har vi brukt sen binding med filsystemobjektet.
1234567891011 | Sub ReadTextFile ()Dim strText As StringDim FSO som objektDim TSO som objektSett FSO = CreateObject ("Scripting.FileSystemObject")Sett TSO = FSO.OpenTextFile ("C: \ Test \ TestFile.txt")strText = TSO.ReadAllTSO. LukkSett TSO = ingentingSett FSO = IngentingSlutt Sub |
Vi kan også bruke tidlig binding i koden og deklarere filsystemobjektet ved å opprette en referanse i vårt Excel -prosjekt til filsystemobjektet.
1234567891011 | Sub ReadTextFile ()Dim strText As StringDim FSO som nytt filsystemobjektDim TSO som objektSett FSO = CreateObject ("Scripting.FileSystemObject")Sett TSO = FSO.OpenTextFile ("C: \ Test \ TestFile.txt")strText = TSO.ReadAllTSO. LukkSett TSO = ingentingSett FSO = IngentingSlutt Sub |