Open Statement
Avataan tietokanava.
Open FileName As String [For Mode] [Access IOMode] [Protected] As [#]FileNumber As Integer [Len = DatasetLength]i37502
FileName: Name and path of the file to open. If you try to read a file that does not exist (Access = Read), an error message appears. If you try to write to a file that does not exist (Access = Write), a new file is created.
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.
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