Інструкція 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