Tento tutoriál předvede, jak číst textový soubor do řetězce ve VBA.
Textový soubor můžeme číst buď po řádcích, nebo jako celý soubor.
Přečíst celý textový soubor do řetězce
Text v textovém souboru je obvykle tvořen několika řádky, oddělenými oddělovači. Může to být čárka („,“), čárka s mezerou („,“), středník („;“), středník s mezerou („;“), mezera („“), tabulátor (vbTab ) nebo ve vzácných případech jakýkoli jiný znak, jako je vlnovka (~). Řádky jsou obvykle odděleny zalomením řádku (vbCRLF).
Nejjednodušší způsob, jak přečíst celý textový soubor ve VBA, je spustit následující kód, který umístí celý obsah textového souboru do proměnné řetězce. Tento postup používá příkaz VBA Open a funkci VBA FreeFile.
12345678910 | Sub ReadFile ()Dim iTxtFile jako celé čísloDim strFile jako řetězecDim strFileText jako řetězecstrFile = "C: \ Test \ TestFile.txt"iTxtFile = FreeFileOtevřete strFile pro vstup jako FreeFilestrFileText = Vstup (LOF (iTxtFile), iTxtFile)Zavřete soubor iTxtFileEnd Sub |
Můžeme také přečíst textový soubor ve VBA pomocí FileSystemObject. V níže uvedeném kódu jsme použili pozdní vazbu s objektem systému souborů.
1234567891011 | Sub ReadTextFile ()Dim strText jako řetězecDim FSO jako objektDim TSO jako objektNastavit FSO = CreateObject ("Scripting.FileSystemObject")Nastavit TSO = FSO.OpenTextFile ("C: \ Test \ TestFile.txt")strText = TSO.ReadAllTSO. ZavřítNastavit TSO = NicNastavit FSO = NicEnd Sub |
Můžeme také použít ranou vazbu v kódu a deklarovat objekt systému souborů vytvořením odkazu v našem projektu aplikace Excel na objekt systému souborů.
1234567891011 | Sub ReadTextFile ()Dim strText jako řetězecDim FSO jako nový FileSystemObjectDim TSO jako objektNastavit FSO = CreateObject ("Scripting.FileSystemObject")Nastavit TSO = FSO.OpenTextFile ("C: \ Test \ TestFile.txt")strText = TSO.ReadAllTSO. ZavřítNastavit TSO = NicNastavit FSO = NicEnd Sub |