VBA Excel
241 subscribers
88 photos
23 links
VBA Excel для начинающих. Справка по VBA Excel. Visual Basic for Applications. Справочник. Самоучитель.
Download Telegram
📂 Чтение текста из файла с помощью FileSystemObject

В VBA Excel для работы с файлами удобно использовать объект FileSystemObject (FSO). Он позволяет читать, записывать и управлять файлами.

🎤 Объявление FileSystemObject
🔹 Объявить переменную как FileSystemObject можно с ранней или поздней привязкой.
🔹 Чтобы использовать раннюю привязку, необходимо подключить библиотеку Microsoft Scripting Runtime (Tools - References - установите галочку перед Microsoft Scripting Runtime - нажмите 🆗).
🔹 Поздняя привязка не требует подключения библиотеки Microsoft Scripting Runtime к проекту VBA.

' Ранняя привязка
Dim fso As New FileSystemObject
' Поздняя привязка
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")


📌 Примеры

1️⃣ Чтение всего текста из файла сразу:
Sub Primer1()
Dim fso, fl, st As String
' Создаем новый экземпляр объекта FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
' Открываем файл для чтения
Set fl = fso.OpenTextFile("C:\Test\Текстовый документ.txt")
' Считываем весь текст из файла в переменную st
st = fl.ReadAll
' Закрываем файл
fl.Close
'Отображаем содержимое переменной в окне Immediate
Debug.Print st
End Sub


2️⃣ Чтение текста из файла построчно:
Sub Primer2()
Dim fso, fl, st As String
' Создаем новый экземпляр объекта FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
' Открываем файл для чтения
Set fl = fso.OpenTextFile("C:\Test\Текстовый документ.txt")
' Читаем построчно текст из файла и выводим в окно Immediate
Do Until fl.AtEndOfStream
st = fl.ReadLine
Debug.Print st
Loop
' Закрываем файл
fl.Close
End Sub

В этом примере также читается весь файл, только построчно, и, соответственно, результат построчной записи в окно Immediate будет таким же, как и в первом примере.

#VBA #ExcelVBA #FileSystemObject #ReadAll #ReadLine
👍3