Nápověda LibreOffice 7.2
Otevře datový kanál.
Open pathname For mode [Access io] [locking] As [#]filenum [Len=recLen]
pathname: Cesta a název souboru, který chcete otevřít. Pokud se pokusíte otevřít neexistující soubor (Access = Read), zobrazí se chybová zpráva. Pokud se pokusíte zapsat do neexistujícího souboru (Access = Write), vytvoří se nový soubor.
mode: Klíčové slovo určující režim souboru. Platné hodnoty: Append (připojení na konec sekvenčního souboru), Binary (k datům lze přistupovat po bajtech pomocí Get a Put), Input (otevře datový kanál pro čtení), Output (otevře datový kanál pro zápis) a Random (úprava relativních souborů).
io: Klíčové slovo definující typ přístupu. Platné hodnoty: Read (jen pro čtení), Write (jen pro zápis), Read Write (obojí).
locking: Klíčové slovo definující zabezpečení souboru po otevření. Platné hodnoty: Shared (soubor mohou otevřít i další aplikace), Lock Read (soubor je chráněn proti čtení), Lock Write (soubor je chráněn proti zápisu), Lock Read Write (zamezí přístupu k souboru).
filkenum: Celočíselný výraz od 0 do 511 určující číslo volného datového kanálu. Skrze datový kanál je možné předávat příkazy k přístupu k souboru. Číslo souboru musí být těsně před příkazem Open určeno funkcí FreeFile.
recLen: Nastaví délku záznamů při přístupu k souboru v režimu Random.
Upravovat je možné jen obsah souboru otevřeného příkazem Open. Pokud se pokusíte otevřít již otevřený soubor, zobrazí se chybová zpráva.
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, "Toto je řádek textu"
Print #iNumber, "Toto je další řádek textu"
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, "Toto je řádek textu"
Print #iNumber, "Toto je další řádek textu"
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
Pokud příkaz Open zkusí otevřít soubory, k němuž nemá aktuální uživatel oprávnění pro čtení nebo zápis, nastane chyba I/O.