<< Click to Display Table of Contents >> Open (Anweisung) |
Open Dateiname [For Modus] [Access Zugriffsart] As [#]Dateinummer
Öffnet eine Datei für Ein- und/oder Ausgabeoperationen.
Dateiname ist der Name der Datei.
Der optionale Parameter Modus kann einen der folgenden Werte annehmen:
Modus |
Beschreibung |
Input |
Sequentielle Eingabe. Die Datei muss bereits existieren. Zugriffsart muss, sofern angegeben, auf Read gesetzt werden. |
Output |
Sequentielle Ausgabe. Die Datei wird dazu automatisch angelegt. Sofern eine Datei des angegebenen Namens bereits existiert, wird sie überschrieben. Zugriffsart muss, sofern angegeben, auf Write gesetzt werden. |
Append |
Sequentielle Ausgabe. Entspricht Output, allerdings wird hier der Dateizeiger an das Ende der Datei gesetzt, sodass alle folgenden Ausgabebefehle Daten an die existierende Datei anhängen. |
Der optionale Parameter Zugriffsart schränkt die Art des Zugriffs auf die Datei ein:
Zugriffsart |
Beschreibung |
Read |
Öffnet die Datei nur zum Lesen. |
Write |
Öffnet die Datei nur zum Schreiben. |
Read Write |
Öffnet die Datei zum Lesen und Schreiben. |
Wenn die Datei nicht existiert, wird sie automatisch angelegt, sofern als Modus Append oder Output angegeben wurde; ansonsten schlägt Open fehl.
Wenn die Datei bereits von einem anderen Prozess geöffnet ist oder die gewünschte Art des Zugriffs nicht möglich ist, schlägt Open fehl.
Dateinummer ist eine ganze Zahl zwischen 1 und 255, mit der in nachfolgenden Zugriffsfunktionen die Datei identifiziert wird. Die Nummer des nächsten freien Dateizeigers kann mit FreeFile ermittelt werden.
Beispiel:
Sub Main
Open "TESTFILE" For Output As #1 ' Datei anlegen
userData1$ = InputBox("Geben Sie eine Zeile Text ein.")
userData2$ = InputBox("Geben Sie eine weitere Zeile ein.")
Write #1, userData1, userData2 ' Daten schreiben
Close #1
Open "TESTFILE" for Input As #2 ' Datei öffnen
Print "Inhalt der Datei:"
Do While Not EOF(2)
Line Input #2, FileData ' Zeile einlesen
Print FileData
Loop
Close #2 ' Datei schließen
Kill "TESTFILE" ' Datei löschen
End Sub