Seek-AnweisungSeek statement

Legt die Position für den nächsten Lese-/Schreibzugriff in einer Datei fest, die mit der Open -Anweisung geöffnet wird.Sets the position for the next read/write operation within a file opened by using the Open statement.

SyntaxSyntax

Seek [ # ] FileNumber, PositionSeek [ # ] filenumber, position


Die Syntax der Seek-Anweisung besteht aus folgenden Komponenten:The Seek statement syntax has these parts:

TeilPart BeschreibungDescription
filenumberfilenumber Erforderlich.Required. Beliebige gültige Dateinummer.Any valid file number.
positionposition Erforderlich.Required. Zahl im Bereich 1 – 2.147.483.647 einschließlich, die angibt, wo der nächste Lese-Schreib-Vorgang stattfinden soll.Number in the range 1 – 2,147,483,647, inclusive, that indicates where the next read/write operation should occur.

HinweiseRemarks

In Get -und Put -Anweisungen angegebene Datensatznummern setzen die durch Seekdurchgeführte Datei Positionierung außer Kraft.Record numbers specified in Get and Put statements override file positioning performed by Seek.

Die Durchführung eines Dateischreibvorgangs nach einem Seek -Vorgang über das Ende einer Datei hinaus führt dazu, dass die Datei erweitert wird.Performing a file-write operation after a Seek operation beyond the end of a file extends the file. Wird ein Seek-Vorgang für eine negative Position oder Nullposition durchgeführt, tritt ein Fehler auf.If you attempt a Seek operation to a negative or zero position, an error occurs.

BeispielExample

In diesem Beispiel wird die Seek -Anweisung verwendet, um die Position für den nächsten Lese- oder Schreibvorgang in einer Datei festzulegen.This example uses the Seek statement to set the position for the next read or write within a file. In diesem Beispiel wird TESTFILE davon ausgegangen, dass es sich um eine Datei Recordmit Datensätzen des benutzerdefinierten Typs handelt.This example assumes that TESTFILE is a file containing records of the user-defined type Record.

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.For files opened in Random mode, Seek sets the next record.

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.For files opened in modes other than Random mode, Seek sets the byte position at which the next operation takes place. In diesem Beispiel wird TESTFILE davon ausgegangen, dass es sich um eine Datei mit einigen Textzeilen handelt.This example assumes that TESTFILE is a file containing a few lines of text.

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 auchSee also

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.