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.

Huomautus-kuvake

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