erklæringen Open

Åbner en datakanal.

Syntaks:

Erklæringsdiagrammet Open

 fragmentdiagrammet Access

 fragmentdiagrammet locking

Open pathname For mode [Access io] [locking] As [#]filenum [Len=recLen]

Parametre:

pathname: Sti til og navn på den fil, du vil åbne. Hvis du prøver at indlæse en fil, der ikke eksisterer (Access = Read), Vises en fejlmeddelelse. Hvis du vil skrive til en fil, der ikke eksisterer (Access = Write), oprettes en ny fil.

mode: Nøgleord, der angiver filtilstanden. Valid values: Append (tilføjer til en sekventiel fil), Binary (data er tilgængelige byte-vis med Get og Put), Input (åbner en datakanal til indlæsning), Output (åbner en datakanal til skrivning), og Random (redigerer relaterede filer).

io: Nøgleord, der definerer adgangstypen. Gyldige værdier: Read (læse-adgang), Write (skrive-adgang), Read Write (begge).

locking: Nøgleord, der definerer en fils sikkerhedsstatus efter åbning. Gyldige værdier: Shared (filen kan være åbnet af andre programmer), Lock Read (filen er beskyttet mod læsning), Lock Write (filen er beskyttet mod skrivning), Lock Read Write (nægter filadgang).

filenum: Ethvert heltalsudtryk fra 0 til 511 til at angive nummeret på en fri datakanal. Du kan dereftefter sende kommandoer gennem datakanalen for at tilgå filen. Filnummeret skal bestemmes med funktion FreeFile umiddelbart før erklæringen Open.

recLen: Ved Random access-filer sætter du længden på posterne.

note

Du kan kun ændre indholdet af en fil, som blev åbnet med Open-sætningen. Hvis du forsøger at åbne en fil der allerede er åbnet, vil en fejlmeddelelse fremkomme.


Eksempel:

Sub ExampleWorkWithAFile
    Dim iNumber As Integer
    Dim sLine As String
    Dim aFile As String
    Dim sMsg As String
    aFile = "~/data.txt"
    iNumber = Freefile
    Open aFile For Output As #iNumber
    Print #iNumber, "Dette er en tekstlinje"
    Print #iNumber, "Dette er en anden tekstlinje"
    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
note

Hvis udtrykket Open (åbn) prøver at åbne en fil, som den aktuelle bruger ikke har læse/skrive-rettigheder til, sættes et I/O-fejlflag.


Støt os venligst!