VBA - Четене на текстов файл в низ

Този урок ще покаже как да се чете текстов файл в низ във VBA.

Можем да четем текстовия файл ред по ред или като цял файл.

Прочетете цял текстов файл в низ

Текстът в текстов файл обикновено се състои от няколко реда, разделени с разделители. Това могат да бъдат запетая („,“), запетая с интервал („,“), точка и запетая („;“), точка и запетая с интервал („;“), интервал („“), раздел (vbTab ) или в редки случаи друг символ като тилда (~). Редовете обикновено са разделени с прекъсване на ред (vbCRLF).

Най -лесният начин да прочетете цял текстов файл във VBA е да изпълните следния код, който ще постави цялото съдържание на текстовия файл в низова променлива. Тази процедура използва оператора VBA Open и функцията VBA FreeFile.

12345678910 Sub ReadFile ()Затъмнете iTxtFile като цяло числоDim strFile As StringDim strFileText As StringstrFile = "C: \ Test \ TestFile.txt"iTxtFile = FreeFileОтворете strFile за въвеждане като FreeFilestrFileText = Въвеждане (LOF (iTxtFile), iTxtFile)Затворете iTxtFileEnd Sub

Можем също да четем текстов файл във VBA с помощта на FileSystemObject. В кода по -долу сме използвали късно свързване с обекта на файловата система.

1234567891011 Sub ReadTextFile ()Dim strText As StringDim FSO като обектDim TSO As ObjectЗадайте FSO = CreateObject ("Scripting.FileSystemObject")Задайте TSO = FSO.OpenTextFile ("C: \ Test \ TestFile.txt")strText = TSO.ReadAllTSO.ЗатвориЗадайте TSO = НищоЗадайте FSO = НищоEnd Sub

Можем също така да използваме ранното свързване в кода и да декларираме обекта на файловата система, като създадем препратка в нашия проект на Excel към обекта на файловата система.

1234567891011 Sub ReadTextFile ()Dim strText As StringЗатъмнете FSO като нов FileSystemObjectDim TSO As ObjectЗадайте FSO = CreateObject ("Scripting.FileSystemObject")Задайте TSO = FSO.OpenTextFile ("C: \ Test \ TestFile.txt")strText = TSO.ReadAllTSO.ЗатвориЗадайте TSO = НищоЗадайте FSO = НищоEnd Sub

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave