Seek-FunktionSeek function

Gibt einen Long -Wert zurück, der die aktuelle Position mit Lese-/Schreibzugriff in einer Datei angibt, die mit der Open -Anweisung geöffnet wird.Returns a Long specifying the current read/write position within a file opened by using the Open statement.

SyntaxSyntax

Seek (FileNumber)Seek(filenumber)

Das erforderliche FileNumber -Argument ist eine ganze Zahl , die eine gültige Dateinummerenthält.The required filenumber argument is an Integer containing a valid file number.

HinweiseRemarks

Seek gibt einen Wert zwischen 1 und 2.147.483.647 (entspricht 2 ^ 31-1) einschließlich an.Seek returns a value between 1 and 2,147,483,647 (equivalent to 2^31 - 1), inclusive.

Im Folgenden werden die Rückgabewerte für die entsprechenden Dateizugriffsmodi beschrieben.The following describes the return values for each file access mode.

ModeMode RückgabewertReturn value
ZufälligRandom Die Nummer des nächsten gelesenen oder geschriebenen Datensatzes.Number of the next record read or written.
Binary, Output, Append, InputBinary, Output, Append, Input Die Byteposition, an der die nächste Operation stattfindet.Byte position at which the next operation takes place. Das erste Byte in einer Datei befindet sich an Position 1, das zweite an Position 2 usw.The first byte in a file is at position 1, the second byte is at position 2, and so on.

BeispielExample

In diesem Beispiel wird die Seek -Funktion verwendet, um die aktuelle Dateiposition zurückzugeben.This example uses the Seek function to return the current file position. Im Beispiel wird davon TESTFILE ausgegangen, dass es sich um eine Datei mit RecordDatensätzen des benutzerdefinierten Typs handelt.The 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

Bei Dateien, die im Zufallsmodus geöffnet werden, gibt Seek die Nummer des nächsten Datensatzes zurück.For files opened in Random mode, Seek returns the number of the next record.

Dim MyRecord As Record    ' Declare variable.
Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
Do While Not EOF(1)    ' Loop until end of file.
    Get #1, , MyRecord    ' Read next record.
    Debug.Print Seek(1)    ' Print record number to the Immediate window.
Loop
Close #1    ' Close file.


Bei Dateien, die in einem anderen als dem Random-Modus geöffnet wurden, gibt Seek die Byteposition zurück, an der die nächste Operation erfolgt.For files opened in modes other than Random mode, Seek returns the byte position at which the next operation takes place. Angenommen, TESTFILE es handelt sich um eine Datei mit einigen Textzeilen.Assume that TESTFILE is a file containing a few lines of text.

Dim MyChar
Open "TESTFILE" For Input As #1    ' Open file for reading.
Do While Not EOF(1)    ' Loop until end of file.
    MyChar = Input(1, #1)    ' Read next character of data.
    Debug.Print Seek(1)    ' Print byte position to the Immediate window.
Loop
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.