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:

Teil 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.

HinwBemerkungeneise

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 Recordenthä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.