Помощ за LibreOfficeDev 7.4
Отваря канал за данни.
Open pathname For mode [Access io] [locking] As [#]filenum [Len=recLen]
pathname: име и път на файла, който да бъде отворен. Ако се опитате да четете от несъществуващ файл (Access = Read), се показва съобщение за грешка. Ако се опитате да записвате в несъществуващ файл (Access = Write), се създава нов файл.
mode: ключова дума, указваща режима на работа с файла. Валидните стойности са: Append (добавяне към файл с последователен достъп), Binary (данните могат да се четат и записват на ниво байт с Get и Put), Input (отваря канал за данни за четене), Output (отваря канал за данни за записване) и Random (за редактиране на файлове с произволен достъп).
io: ключова дума, указваща вида на достъпа. Валидните стойности са: Read (само за четене), Write (само за запис), Read Write (и двете).
locking: ключова дума за защита на файла след отварянето му. Валидните стойности са: Shared (файлът може да бъде отварян от други приложения), Lock Read (файл е защитен срещу четене), Lock Write (файлът е защитен срещу записване), Lock Read Write (достъпът до файла се отказва).
filenum: целочислен израз със стойност от 0 до 511, представляваща номер на свободен канал за данни. Впоследствие можете да изпращате команди към този канал за данни, за да работите с файла. Файловият номер трябва да бъде определен с функцията FreeFile непосредствено преди оператора Open.
recLen: Задава дължината на записите за файлове с произволен (Random) достъп.
За да променяте съдържанието на файл, той трябва да е отворен с оператора Open. Ако се опитате да отворите файл, който вече е отворен, се показва съобщение за грешка.
Sub ExampleWorkWithAFile
Dim iNumber As Integer
Dim sLine As String
Dim aFile As String
Dim sMsg As String
aFile = "C:\Users\ThisUser\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
Sub ExampleWorkWithAFile
Dim iNumber As Integer
Dim sLine As String
Dim aFile As String
Dim sMsg As String
aFile = "~/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
Ако операторът Open се опита да отвори файл, за който текущият потребител няма права за писане и четене, ще възникне входно-изходна грешка.