Операторы
Работа с каталогами, папками и файлами
Операторы этой группы позволяют перемещать текущий каталог (папку) по дискам системы, создавать новые и удалять каталоги (папки): изменять атрибуты файлов, копировать и удалять файлы. Их набор по существу совпадает с набором соответствующих команд операционной системы.
Изменение текущего диска: оператор ChDrive
Синтаксис:
ChDrive диск
Обязательный параметр диск - это строка, задающая имя существующего диска, который должен стать текущим, например:
ChDrive "D"
сделает диск "D" текущим.
Изменение текущего каталога (папки): оператор ChDir
Синтаксис:
ChDir путь
Обязательный параметр путь - это строковое выражение, значение которого задает новый текущий каталог (папку). Если путь не содержит имени диска, меняется текущий каталог на текущем диске. Подчеркнем, что оператор ChDir меняет текущий каталог (папку), но не диск. Например, если текущим является диск С, команда:
ChDir "D:\TMP"
изменит текущий каталог на диске D, но диск C останется текущим.
Создание каталога (папки): оператор MkDir
Синтаксис:
MkDir путь
Обязательный параметр путь - это строковое выражение, значение которого задает новый создаваемый каталог (папку). Если путь не содержит имени диска, каталог создается на текущем диске. В следующем примере на диске F создаются три новых каталога (папки):
Public Sub Dirs() 'Сделать текущим диск F ChDrive "F" 'Создать 3 каталога на F MkDir "Temp1" MkDir "F:\Temp2" MkDir "F:Temp3" End Sub
Переименование каталогов (папок) и файлов: оператор Name
Позволяет переименовывать каталоги (папки) и файлы и перемещать файлы.
Синтаксис:
Name СтароеИмя As НовоеИмя
СтароеИмя и НовоеИмя - обязательные параметры, задающие старое и новое имя файла (каталога, папки). Они могут включать имя диска и путь. СтароеИмя должно быть именем существующего файла (каталога, папки), а НовоеИмя не должно быть именем уже существующего объекта. Оба имени должны использовать один и тот же диск. Если указанный новый путь существует и отличается от старого, оператор перемещает файл в новый каталог (папку) и, если требуется, переименовывает его. Каталоги и папки с помощью оператора Name перемещать нельзя, - лишь переименовывать. Перед переименованием файл должен быть закрыт.
В этом примере файл переименовывается, а затем и перемещается в другой каталог:
Public Sub DirsAndFiles() 'Сделать текущим диск F ChDrive "F" 'Переименование файла Name "Exam1E.xls" As "Example1.xls" 'Перемещение файла Name "Example1.xls" As "Temp1\Example1.xls" End Sub
Удаление каталога (папки): оператор RmDir
Синтаксис:
RmDir путь
Аргумент путь - строковое выражение, задающее удаляемый каталог или папку. Нельзя удалять каталог или папку, содержащие файлы (иначе будет выдано сообщение об ошибке). Чтобы удалить все файлы из каталога (папки), используйте оператор Kill.
RmDir "Temp3"
удалит папку Temp3 с текущего диска.
Установка атрибутов файла: оператор SetAttr
Синтаксис:
SetAttr имяфайла, атрибуты
Первый параметр имяфайла - строковое выражение, задающее имя файла, у которого требуется изменить атрибуты. Оно может включать имя диска и путь по каталогам (папкам). Параметр атрибуты - константа или числовое выражение, определяющее новые атрибуты файла в соответствии с таблицей:
Имя константы | Значение | Описание |
---|---|---|
VbNormal | 0 | Нормальный (по умолчанию) |
vbReadOnly | 1 | Только для чтения |
VbHidden | 2 | Скрытый |
VbSystem | 4 | Системный файл |
VbArchive | 32 | Файл изменен со времени последнего создания резервной копии |
Нельзя менять атрибуты открытого файла (иначе будет выдано сообщение об ошибке).
Копирование файлов: оператор FileCopy
Синтаксис:
FileCopy файл-источник, файл-результат
Параметр файл-источник - строковое выражение, задающее имя копируемого файла, Файл-результат - строковое выражение, которое определяет имя результирующего файла. Оба имени могут включать имена дисков, каталогов или папок. Открытый в данный момент файл копировать нельзя.
Пример:
'Копирование файла FileCopy "Temp1\Example1.xls", "Temp2\Example1.xls"
Удаление файлов: оператор Kill
Синтаксис:
Kill файл
Параметр файл - строковое вырыжение, задающее имя удаляемого файла. Он может включать имя диска и путь по каталогам или папкам. Для удаления нескольких файлов можно использовать в образце имени файла символ '*' для обозначения произвольной последовательности букв и '?' - для обозначения одного символа. Нельзя удалять открытый в данный момент файл.
Пример.
Допустим, в текущем каталоге находятся файлы PROG.DOC, PROG.CPP и PROG.OBJ. Тогда оператор:
Kill "PROG.*"
удалит эти файлы с диска.