Open Statement
Avataan tietokanava.
Syntaksi:
Open tiedostonimi1 As String [For tapa1] [Access saanti1] [suojattu1] As [#]tiedostonro1 As Integer [Len = tietuepituus1]
Parametrit:
Tiedostonimi1: avattavan tiedoston nimi ja polku. Jos yritetään lukea tiedostoa, jota ei ole (Access = Read), saadaan virheilmoitus. Jos yritetään kirjoittaa tiedostoon, jota ei ole (Access = Write), uusi tiedosto tulee luoduksi.
Tapa1: avainsana, joka määrittää tiedoston käyttötavan. Kelvolliset arvot: Append (lisätään peräkkäistiedoston loppuun), Binary (tietoa voidaan hakea tavuina Get- ja Put-lauseilla), Input (tietokanava avataan lukua varten), Output (tietokanava avataan kirjoittamista varten) ja Random (muokataan "suhteellisia" suorasaantitiedostoja).
Saanti1: avainsana, joka määrittää tiedoston käsittelytyypin. Kelvolliset arvot: Read (kirjoitussuojattu luku), Write (vain kirjoitus), Read Write (luku ja kirjoitus).
Suojattu1: avainsana, jolla määritetään tietoturvan taso ( muiden sovellusten suhteen) tiedoston avauksen jälkeen. Kelvolliset arvot: Shared (tiedosto on avattavissa muillakin sovelluksilla), Lock Read (tiedosto on lukusuojattu), Lock Write (tiedosto on kirjoitussuojattu), Lock Read Write (tiedoston saanti on estetty).
Tiedostonro1: mikä tahansa kokonaislukulauseke 0...511, joka osoittaa vapaan tietokanavan numeron. Tämä tekee mahdolliseksi tiedoston käsittelykomennot tietokanavan numerolla. Tiedostonumero pitää määrittää FreeFile-funktiolla välittömästi ennen Open-lausetta.
Tietuepituus1: asettaa suorasaantitiedostoille (tapa1=Random) tietuepituuden.
Käyttäjä voi muokata vain sellaisen tiedoston sisältöä, joka on avattu Open-lauseella. Yritettäessä avata tiedostoa, joka on jo auki, saadaan virheilmoitus.
Esimerkki:
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, "Tämä on tekstirivi."
Print #iNumber, "Tässä on toinen rivi tekstiä"
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