Hilfe für LibreOffice 7.3
Öffnet einen Datenkanal.
Open pathname For mode [Access io] [locking] As [#]filenum [Len=recLen]
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 angibt. 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.
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.
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
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
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
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.