Open-uttrykket

Opnar ein datakanal.

Syntaks:

Opna FilNamn som streng [For modus] [Tilgang IOMode] [Verna] som [#]FilNummer som heiltal [Len = DatasetLength]

Parametrar:

FilNamn: Namn og sti for fila som skal opnast. Viss du prøver å opna ei fil som ikkje finst (tilgang = les), får du ei feilmelding. Viss du prøver å skriva til ei fil som ikkje finst (tilgang = skriv), vert ei ny fil oppretta.

Mode: Nøkkelord som bestemmer filmodus. Gyldige verdiar: «append» (legg til i sekvensiell fil), «binary» (data er tilgjengelege som byte med Get og Put), «input» (opnar datakanal for lesing), «output» (opnar datakanal for skriving) og «random» (redigerar relative filer).

IOMode: Nøkkelord som definerer tilgangstypen. Gyldige verdiar er Read (berre lesing, skriveverna), Write (berre skriving), Read Write (begge).

Protected: Nøkkelord som bestemmer tryggingsstatusen for ei fil som er opna. Gyldige verdiar er Shared (fila kan opnast av andre program), Lock Read (fila er verna mot lesing), Lock Write (fila er skriveverna), Lock Read Write (nektar filtilgang).

FilNummer. Kva heiltal som helst frå 0 til 511 for å indikera nummeret på ein fri datakanal. Du kan deretter overføra kommandoar gjennom datakanalen for å få tilgang til fila. Filnummeret må bestemmast av funksjonen FreeFile like før Open-kommandoen.

DatasetLength:Set lengd på datapostane i ei fil med direkte (random access) tilgang.

Merknadsikon

Du kan endra innhaldet i ei fil berre viss ho er opna med uttrykket Open. Viss du prøver å opna ei fil som er opna frå før, får du ei feilmelding.


Eksempel:

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, "Dette er ei tekstlinje"

    Print #iNumber, "Dette er ei tekstlinje til"

    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