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