Open Statement

Открывает канал данных.

Синтаксис

Open ИмяФайла As String [For Режим] [Access Режим_ввода/вывода] [Защита] As [#]НомерФайла As Integer [Len = ДлинаБД]

Параметры:

Имя файла: имя и путь к файлу, который требуется открыть. При попытке открытия несуществующего файла (Access = Read) выдаётся сообщение об ошибке. При попытке записи в несуществующий файл (Access = Write) создаётся новый файл.

Режим: ключевое слово, указывающее файловый режим. Допустимые значения: 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