Зміст
Покажчик 🔎︎

# Інструкція Open

Відкриває канал даних.

## Синтаксис:

    Open НазваФайлу As String [For Режим] [Access IOMode] [Protected] As [#]НомерФайлу As Integer [Len = DatasetLength]

## Параметри:

Ім'я файлу: ім'я та шлях до файлу, який потрібно відкрити. При спробі відкриття файлу, якого не існує (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