Open Statement

Avab andmekanali

SĂĽntaks:

Open FileName As String [For Mode] [Access IOMode] [Protected] As [#]FileNumber As Integer [Len = DatasetLength]

Parameetrid:

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.

Mode: võtmesõna, mis määrab faili režiimi. Sobivad väärtused on Append (lisa jadafailile), Binary (andmetele pääseb juurde lausete Get ja Put abil baitide järgi), Input (avab andmekanali lugemiseks), Output (avab andmekanali kirjutamiseks) ja Random (redigeerib suhtelisi faile).

IOMode: võtmesõna, mis määrab juurdepääsutüübi. Sobivad väärtused on Read (kirjutuskaitstud), Write (ainult kirjutamiseks), Read Write (mõlemad).

Protected: võtmesõna, mis määrab faili turbeoleku pärast avamist. Sobivad väärtused on Shared (muu rakendus võib faili avada), Lock Read (fail on lugemiseks kaitstud), Lock Write (fail on kirjutuskaitstud), Lock Read Write (juurdepääs failile on keelatud).

FileNumber: vaba andmekanalit tähistav suvaline täisarvavaldis vahemikus 0 kuni 511. Seejärel saad failile juurdepääsemiseks edastada käsud selle andmekanali kaudu. Faili number peab olema funktsiooni FreeFile abil määratud vahetult enne lauset Open.

DatasetLength: määrab juhupääsuga failide korral kirjete pikkuse.

Märkuse ikoon

Saad muuta ainult lause Open abil avatud failide sisu. Kui proovid avada faili, mis on juba avatud, kuvatakse veateade.


Näide:

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, "See on rida teksti"

    Print #iNumber, "See on veel ĂĽks rida 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