Объект FileSystemObject
VBScript предоставляет несколько новых объектов, доступных из Visual Basic. Наиболее важным (с точки зрения программиста на VB) является объект FileSystemObject, предоставляющий доступ к файловой системе компьютера, на котором выполняется приложение. Visual Basic предлагает несколько функций и операторов для доступа и манипулирования файловой системой, но объект FileSystemObject является более гибким средством, обеспечивающим методы и свойства для доступа к каждому каталогу и файлу на диске.
Чтобы получить доступ к файловой системе компьютера, на котором выполняется приложение, создайте переменную FileSystemObject с помощью функции Create0bject().
Set FSys = CreateObject ("Scripting. FileSystemObject")
Переменная
FSys
представляет файловую систему и определяется как объект.
Dim FSys As Object
Чтобы получить доступ к текстовым файлам на диске, используйте методы объекта FileSystemObject, описанные ниже.
Это один из способов доступа к файловой системе компьютера из Windows-сценария. В Visual Basic существует лучший метод, использующий раннее связывание для ускорения работы приложения. Вы можете добавить ссылку на объект Microsoft Scripting Runtime, выбрав команду References меню Project для открытия диалогового окна References. Укажите элемент Microsoft Scripting Runtime и щелкните на кнопке ОК. Как только ссылка будет добавлена к проекту, можно объявить переменную FSys с помощью оператора
Dim FSys As New Scripting.FileSystemObject
или
Dim FSys As New FileSystemObject
В окне Code после введения имени переменной FSys появится список компонентов объекта Script, и можно будет выбрать необходимый объект.
Поэкспериментируем с объектом FileSystemObject. Откройте новый проект и поместите командную кнопку на его форму. В окне Code формы введите следующее определение.
Dim FSys As New Scripting.FileSystemObject
Введите следующий оператор в обработчик события Click командной кнопки.
Debug.Print FSys.FileExists ("C:\AUTOEXEC.BAT")
Если файл C:\AUTOEXEC.BAT существует, то строка "True" появится в окне проверки. Компонент FileExists переменной FSys - это метод, который возвращает значение True, если файл существует. В противном случае он возвращает значение False.
Объект FileSystemObject предоставляет свойства и методы для операций с файловой системой, включая создание новых текстовых файлов (или открытие уже существующих), чтение или запись в них. Visual Basic имеет собственные операторы для доступа к текстовым файлам (и к двоичным), поэтому это подмножество объекта FileSystemObject не особенно интересно для программиста на VB. Они описаны здесь, потому что позволяют работать с текстовыми файлами при создании Windows-сценариев. Позже мы обсудим компоненты объекта FileSystemObject, которые полезны при написании Visual Basic-приложений и Windows-сценариев.
Операции чтения из текстовых файлов и записи в них являются основными при разработке сценариев Многие сценарии сохраняют свои результаты в текстовых файлах или считывают из них необходимые параметры (например, сценарии, обрабатывающие большое число файлов). Методы FileSystemObject для работы с текстовыми файлами также могут использоваться внутри сценариев в приложениях Visual Basic (см пример StatCIss ниже в этой главе).