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