Seek-Anweisung
Legt die Position für den nächsten Lese-/Schreibvorgang in einer Datei fest, die mithilfe der Open-Anweisung geöffnet wird.
Syntax
Seek [ # ] filenumber, position
Die Syntax der Seek-Anweisung besteht aus folgenden Komponenten:
Bestandteil | Beschreibung |
---|---|
filenumber | Erforderlich. Beliebige gültige Dateinummer. |
position | Erforderlich. Zahl im Bereich 1 bis 2.147.483.647 (einschließlich), die angibt, wo der nächste Lese-/Schreibvorgang erfolgen soll. |
Hinweise
Datensatznummern, die in get - und put-Anweisungen angegeben sind, setzen die von Seek durchgeführte Dateipositionierung außer Kraft.
Die Durchführung eines Dateischreibvorgangs nach einem Seek -Vorgang über das Ende einer Datei hinaus führt dazu, dass die Datei erweitert wird. Wird ein Seek-Vorgang für eine negative Position oder Nullposition durchgeführt, tritt ein Fehler auf.
Beispiel
In diesem Beispiel wird die Seek -Anweisung verwendet, um die Position für den nächsten Lese- oder Schreibvorgang in einer Datei festzulegen. In diesem Beispiel wird davon ausgegangen, dass eine Datei ist, TESTFILE
die Datensätze des benutzerdefinierten Typs Record
enthält.
Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
Für Dateien, die im Zufallsmodus (Random) geöffnet werden, legt Seek den nächsten Datensatz fest.
Dim MyRecord As Record, MaxSize, RecordNumber ' Declare variables.
' Open file in random-file mode.
Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
MaxSize = LOF(1) \ Len(MyRecord) ' Get number of records in file.
' The loop reads all records starting from the last.
For RecordNumber = MaxSize To 1 Step - 1
Seek #1, RecordNumber ' Set position.
Get #1, , MyRecord ' Read record.
Next RecordNumber
Close #1 ' Close file.
Für Dateien, die in anderen Modi als dem Zufallsmodus geöffnet werden, legt Seek die Byte-Position fest, an der der nächste Vorgang erfolgen soll. In diesem Beispiel wird davon ausgegangen, dass TESTFILE
es sich um eine Datei handelt, die einige Textzeilen enthält.
Dim MaxSize, NextChar, MyChar
Open "TESTFILE" For Input As #1 ' Open file for input.
MaxSize = LOF(1) ' Get size of file in bytes.
' The loop reads all characters starting from the last.
For NextChar = MaxSize To 1 Step -1
Seek #1, NextChar ' Set position.
MyChar = Input(1, #1) ' Read character.
Next NextChar
Close #1 ' Close file.
Siehe auch
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.