VBA - чтение текстового файла в строку

В этом руководстве будет показано, как преобразовать текстовый файл в строку в VBA.

Мы можем читать текстовый файл построчно или как файл целиком.

Чтение всего текстового файла в строку

Текст в текстовом файле обычно состоит из нескольких строк, разделенных разделителями. Это может быть запятая («,»), запятая с пробелом («,«), точка с запятой («;»), точка с запятой с пробелом («;»), пробел (««), табуляция (vbTab ) или в редких случаях любой другой символ, например тильда (~). Строки обычно разделяются разрывом строки (vbCRLF).

Самый простой способ прочитать весь текстовый файл в VBA - запустить следующий код, который поместит все содержимое текстового файла в строковую переменную. Эта процедура использует оператор VBA Open и функцию VBA FreeFile.

12345678910 Дополнительный файл чтения ()Dim iTxtFile как целое числоDim strFile As StringDim strFileText As StringstrFile = "C: \ Test \ TestFile.txt"iTxtFile = FreeFileОткрыть strFile для ввода как FreeFilestrFileText = Вход (LOF (iTxtFile), iTxtFile)Закройте iTxtFileКонец подписки

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

1234567891011 Sub ReadTextFile ()Dim strText As StringDim FSO как объектDim TSO как объектУстановите FSO = CreateObject ("Scripting.FileSystemObject")Установите TSO = FSO.OpenTextFile ("C: \ Test \ TestFile.txt").strText = TSO.ReadAllTSO.ЗакрытьУстановите TSO = NothingУстановите FSO = NothingКонец подписки

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

1234567891011 Sub ReadTextFile ()Dim strText As StringDim FSO как новый объект FileSystemObjectDim TSO как объектУстановите FSO = CreateObject ("Scripting.FileSystemObject")Установите TSO = FSO.OpenTextFile ("C: \ Test \ TestFile.txt").strText = TSO.ReadAllTSO.ЗакрытьУстановите TSO = NothingУстановите FSO = NothingКонец подписки
wave wave wave wave wave