📂 Чтение текста из файла с помощью FileSystemObject
В VBA Excel для работы с файлами удобно использовать объект FileSystemObject (FSO). Он позволяет читать, записывать и управлять файлами.
🎤 Объявление FileSystemObject
🔹 Объявить переменную как FileSystemObject можно с ранней или поздней привязкой.
🔹 Чтобы использовать раннюю привязку, необходимо подключить библиотеку Microsoft Scripting Runtime (Tools - References - установите галочку перед Microsoft Scripting Runtime - нажмите 🆗).
🔹 Поздняя привязка не требует подключения библиотеки Microsoft Scripting Runtime к проекту VBA.
📌 Примеры
1️⃣ Чтение всего текста из файла сразу:
2️⃣ Чтение текста из файла построчно:
В этом примере также читается весь файл, только построчно, и, соответственно, результат построчной записи в окно Immediate будет таким же, как и в первом примере.
#VBA #ExcelVBA #FileSystemObject #ReadAll #ReadLine
В 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