Оператор Open
Разрешает выполнение операций ввода/вывода при работе с файлом.
Open Путь For Режим [Access Доступ] [Блокировка] As [ # ] НомерФайла [Lеn=Длина]
У синтаксиса оператора Open есть эти части:
Параметр |
Описание |
Путь |
Строковое выражение, указывающее имя файла |
Режим |
Устанавливает режим работы с файлом.
Допустимые значения: Append, Binary, Input, Output или Random |
Доступ |
Устанавливает операции, разрешенные с открытым файлом. Допустимые значения: Read, Write или Read Write |
Блокировка |
Устанавливает операции, разрешенные с открытым файлом другим процессам.
Допустимые значения: Shared, Lock Read, Lock Write и Lock Read Write |
номерФайла |
Допустимый номер файла. Число в интервале от 1 до 255. Обратите внимание на то, что параметру Номер-Файла предшествует символ #. Значение номерФайла нельзя изменять, пока файл открыт. Но при следующем открытии файла номерФайла может быть другим числом |
длина |
Число, меньшее либо равное 32 767 (байт). Для файлов, открытых в режиме Random, это значение является длиной записи. Для файлов с последовательным доступом это значение является числом буферизуемых символов. Про инструкцию open важно также знать, что во время ее работы VBA также резервирует файловый буфер в памяти компьютера для ускорения процесса записи и считывания (прямое записывание информации на диск может существенно замедлить выполнение программы, что особенно заметно при работе с большими файлами). Максимальное число файловых буферов устанавливается в системном файле Config.sys |
Пример
Этот пример иллюстрирует различные использования оператора Open.
Следующий код открывает файл TESTFILE в последовательно-входном режиме.
Open "TESTFILE" For Input As #1
'Необходимо закрыть файл прежде, чем вновь открыть в другом режиме.
Close #1
Этот пример открывает файл в Режиме двоичного счета для того, чтобы только писать операции.
Open "TESTFILE" For Binary Access Write As #1
'Необходимо закрыть файл прежде, чем вновь открыть в другом режиме.
Close #1
Следующий пример открывает файл в режиме Random.
Файл содержит записи определяемого пользователем типа Запись
Type Record 'Определение типа. ID As Integer Name As String * 20 End Type Dim MyRecord As Record 'Объявите переменную. Open "TESTFILE" For Random As #1 Len = Len(MyRecord) 'Необходимо закрыть файл прежде, чем вновь открыть в другом режиме.
Close #1
Этот пример кода открывает файл для последовательного вывода;
любой процесс может читать или написать файлу.
Open "TESTFILE" For Output Shared As #1
'Необходимо закрыть файл прежде, чем вновь открыть в другом режиме.
Close #1
Этот пример кода открывает файл в Режиме двоичного счета для того, чтобы читать; другие процессы не могут читать файл.
Open "TESTFILE" For Binary Access Read Lock Read As #1
|