Наиболее употребляемые инструкции и функции при работе с файлами
Приведем наиболее часто употребляемые инструкции и функции для работы с файлами.
ChDir
Изменяет текущую папку. Синтаксис:
ChDir путь
ChDrive
Изменяет текущий диск. Синтаксис:
ChDrive диск Например,ChDrive "D"
CurDir
Функция возвращает текущую папку
FileAttr
Возвращает значение типа Long, представляющее режим файла, открытого с помощью инструкции Open. Возвращаемые значения: 1 (для режима Input), 2 (Output), 4 (Random), 8(Append) и 32 (Binary).
Синтаксис:
FileAttr(НомерФайла, Тип)
- НомерФайла — допустимый номер файла
- Тип — число, указывающее характер возвращаемых данных. Если тип установлен равным 1, то функция FileAttr возвращает значение, указывающее режим работы файла
GetAttr
Возвращает значение типа Integer, определяющее атрибуты файла, каталога или папки. Значение, возвращаемое функцией GetAttr, является суммой констант, приведенных в табл.
Синтаксис:
GetAttr(путь)
.SetAttr
Устанавливает атрибуты файла. Синтаксис:
SetAttr pathname, attributes
Атрибуты в аргументе attributes определяются как сумма констант из табл.
FileCopy
Копирует файл. Синтаксис:
FileCopy source, destination
Аргументы:
- source — строковое выражение, указывающее имя копируемого файла
- destination — строковое выражение, указывающее имя результирующего файла. Аргумент destination может содержать имя каталога или папки и диска
FileDateTime
Функция возвращает дату и время последнего изменения файла. Синтаксис:
FileDateTime(путь)
Kill
Удаляет существующий файл. Синтаксис:
Kill путь
В аргументе путь допустимо использование символов (*) и (?) для удаления нескольких файлов по маске.
MkDir
Создает новую папку.
Синтаксис:
MkDir путь
RmDir
Удаляет существующую папку.
Синтаксис:
RmDir путь
Табл. Константы атрибутов файла
Константа
Значение
Описание
vbNormal
Обычный
vbReadOnly
Только чтение
vbHidden
Скрытый
vbSystem
Системный
vbDirectory
Каталог или папка
vbArchive
Файл был изменен после последнего резервирования
Объект FileSearch обладает функциональными возможностями диалогового окна Открытие документа (Open), отображаемого на экране_посредством выбора команды Файл, Открыть (File, Open). Объект FileSearch входит в объект Application и иерархически включает в себя (рис.):
- Семейство FoundFiles, которое является списком всех файлов, возвращаемых в результате поиска
- Семейство PropertyTests, которое является списком всех критериев поиска
Рис. Иерархическая структура объекта FileSearch
Объект FileSearch возвращается свойством FileSearch объекта Application. Объект FileSearch имеет следующие два метода.
Execute
Поиск специфицированных файлов. Синтаксис:
Execute(SortBy, SortOrder, AlwaysAccurate)
Аргументы:
- SortBy — устанавливает способ сортировки файлов. Допустимые значения: msoSortbyFileName,msoSortbyFileType, msoSortbyLastModified и msoSortbySize
- SortOrder — устанавливает порядок сортировки файлов.
Допустимые значения: msoSortOrderAscending и msoSortOrderDescending
- AlwaysAccurate — допустимые значения: True (поиск среди измененных файлов) и False (в противном случае)
NewSearch
Устанавливает критерии, используемые при поиске по умолчанию
Приведем наиболее часто применяемые свойства объекта FileSearch.
FileName
Устанавливает имя файла для поиска. Допустимо использование символов (*) и (?)
FileType
Задает тип файла для поиска. Допустимые значения:
MsoFileTypeAllFiles, msoFileTypeBinders, msoFile-TypeDatabases, msoFileTypeExcelWorkbooks, msoFi-leTypeOffice Files, ms о FileTypePowerPoint Presentations, msoFileTypeTemplates и msoFileTypeWordDocuments
Lookin
Задает папку для поиска файла
SearchSubFolders
Допустимые значения: True (поиск также проводить в поддиректориях) и False (в противном случае)
Следующий пример позволяет в поле со списком диалогового окна вывести Список всех файлов текущей папки:
Prrivate Sub UserForm_Initialize() ComboBoxl.Clear
With Application.FileSearch
.FileName = "*.xls"
.SearchSubFolders = False
If .Execute(SortBy:=msoSortByFileName, _
sortorder:=msoSortOrderAscending) > 0 Then
For i = 1 To .FoundFiles.Count
ComboBoxl.AddItem .FoundFiles(i)
Next i
End If
End With
End Sub
Предыдущая программа отображает в поле со списком полные имена файлов, т. е. имя файла и путь. Для того чтобы в списке отображались только имена файлов (без пути), программу необходимо модифицировать следующим образом: