Innhold

# Åpnings uttrykk

Åpner en datakanal.

### Syntaks:

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

### Parametre:

stinavn: Sti og navn på filen som skal åpnes. Hvis du prøver å lese en fil som ikke eksisterer (Tilgang = Les), vises en feilmelding. Hvis du prøver å skrive til en fil som ikke eksisterer (Tilgang = Skriv), opprettes en ny fil.

modus: Nøkkelord som spesifiserer filmodus. Gyldige verdier: Append (legg til sekvensiell fil), Binær (data kan nås med byte ved å bruke Get og Put), Input (åpner data kanal for lesing), Output (åpner datakanal for skriving), og Tilfeldig (redigerer relative filer).

io: Nøkkelord som definerer tilgangstypen. Gyldige verdier: Les (skrivebeskyttet), Skriv (skrivebeskyttet), Les Skriv (begge).

låsing: Nøkkelord som definerer sikkerhetsstatusen til en fil etter åpning. Gyldige verdier: Delt (filen kan åpnes av andre programmer), Lås Les (filen er beskyttet mot lesing), Lås skriv (filen er beskyttet mot skriving), Lås Les Skriv (nekter filtilgang).

filenum: Ethvert heltallsuttrykk fra 0 til 511 for å indikere nummeret til en ledig datakanal. Du kan deretter sende kommandoer gjennom datakanalen for å få tilgang til filen. Filnummeret må bestemmes av FreeFile-funksjonen rett før Åpne-setningen.

recLen: For filer med tilfeldig tilgang, angi lengden på postene.

Du kan bare endre innholdet i en fil som ble åpnet med Open-setningen. Hvis du prøver å åpne en fil som allerede er åpen, vises en feilmelding.

### Eksempel:

      Sub ExampleWorkWithAFile
          Dim iNumber As Integer
          Dim sLine As String
          Dim aFile As String
          Dim sMsg As String
          aFile = "C:\Users\ThisUser\data.txt"
          iNumber = Freefile
          Open aFile For Output As #iNumber
          Skriv ut #iNumber, "Dette er en tekstlinje"
          Skriv ut #iNumber, "Dette er en annen 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

      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
          Skriv ut #iNumber, "Dette er en tekstlinje"
          Skriv ut #iNumber, "Dette er en annen 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

Hvis Open-setningen prøver å åpne en fil som gjeldende bruker ikke har lese-/skriverettigheter til, vil en I/O-feil oppstå.

Lignende emner

Lukke uttrykk

FreeFile-funksjon

Input# Uttrykk

Skriv ut # erklæring