Open Statement
Открывает канал данных.
Синтаксис
Open ИмяФайла As String [For Режим] [Access Режим_ввода/вывода] [Защита] As [#]НомерФайла As Integer [Len = ДлинаБД]
Параметры:
FileName: Name and path of the file to open. If you try to read a file that does not exist (Access = Read), an error message appears. If you try to write to a file that does not exist (Access = Write), a new file is created.
Режим: ключевое слово, указывающее файловый режим. Допустимые значения: Append (добавление к концу существующего файла), Binary (данные могут быть доступны побайтно с помощью инструкций Get и Put), Input (открытие канала данных для чтения), Output (открытие канала данных для записи) и Random (редактирование файлов с произвольным доступом).
Режим_ввода/вывода. Ключевое слово, которое определяет тип доступа. Допустимые значения: Read (только для чтения), Write (только для записи), Read Write (и то, и другое).
Защита. Ключевое слово, которое определяет статус безопасности файла после открытия. Допустимые значения: Shared (файл может быть открыт другими приложениями), Lock Read (файл защищён от чтения), Lock Write (файл защищён от записи), Lock Read Write (доступ к файлу запрещен).
НомерФайла. Любое целое число от 0 до 511, указывающее номер свободного канала данных, который может быть использован для доступа к файлу посредством различных команд. Номер файла должен определяться непосредственно перед инструкцией Open с помощью функции FreeFile.
ДлинаЗаписи: устанавливает длину записи для файлов с произвольным доступом.
Файл должен быть открыт инструкцией Open, перед тем как содержимое этого файла может быть изменено. При попытке открыть файл, который уже открыт, появится сообщение об ошибке.
Пример:
Sub ExampleWorkWithAFile
Dim iNumber As Integer
Dim sLine As String
Dim aFile As String
Dim sMsg As String
aFile = "c:\data.txt"
iNumber = Freefile
Open aFile For Output As #iNumber
Print #iNumber, "Это строка текста"
Print #iNumber, "Это еще одна строка текста"
Close #iNumber
iNumber = Freefile
Open aFile For Input As iNumber
While Not eof(iNumber)
Line Input #iNumber, sLine
If sLine <>"" Then
sMsg = sMsg & sLine & chr(13)
End If
Wend
Close #iNumber
MsgBox sMsg
End Sub