Anweisung Open

Öffnet einen Datenkanal.

Syntax:

Diagramm der Anweisung Open

Diagrammfragment zu Access

Diagrammfragment zu Locking

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

Parameter:

Pfadname: Pfad und Name der zu öffnenden Datei. Wenn Sie versuchen, eine nicht vorhandene Datei zu lesen (Access = Read), erscheint eine Fehlermeldung. Wenn Sie versuchen, in eine nicht vorhandene Datei zu schreiben (Access = Write), wird eine neue Datei erstellt.

mode: Schlüsselwort, das den Dateimodus festlegt. Gültige Werte: Append (an sequentielle Datei anhängen), Binary (Daten können byteweise mit Get und Put aufgerufen werden), Input (öffnet Datenkanal zum Lesen), Ausgabe (öffnet den Datenkanal zum Schreiben) und Random (bearbeitet relative Dateien).

io: Schlüsselwort, das den Zugriffstyp definiert. Gültige Werte: Read (schreibgeschützt), Write (schreibgeschützt), Read Write (beides).

locking: Schlüsselwort, das den Sicherheitsstatus einer Datei nach dem Öffnen definiert. Gültige Werte: Shared (Datei kann von anderen Anwendungen geöffnet werden), Lock Read (Datei ist gegen Lesen geschützt), Lock Write (Datei ist schreibgeschützt), Lock Read Write (verweigert den Dateizugriff).

filenum: Ein ganzzahliger Ausdruck von 0 bis 511, um die Nummer eines freien Datenkanals anzugeben. Sie können dann Befehle über den Datenkanal übergeben, um auf die Datei zuzugreifen. Die Dateinummer muss von der Funktion FreeFile unmittelbar vor der Anweisung Open ermittelt werden.

recLen: Legen Sie für Dateien mit dem Zugriff Random die Länge der Datensätze fest.

note

Um den Inhalt einer Datei zu bearbeiten, muss diese mit der Anweisung Open geöffnet worden sein. Wenn Sie versuchen, eine bereits geöffnete Datei zu öffnen, erscheint eine Fehlermeldung.


Beispiel:

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, "Das ist eine Zeile Text"
    Print #iNumber, "Das ist eine weitere Zeile Text"
    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

Wenn die Anweisung Open versucht, eine Datei zu öffnen, für die der aktuelle Benutzer keine Lese-/Schreibberechtigungen hat, wird ein E/A-Fehler ausgelöst.


Bitte unterstützen Sie uns!