Hinweis: Die in diesem Thema beschriebene Funktion, Methode, Objekt oder Eigenschaft ist deaktiviert, wenn der Microsoft Jet-Ausdrucksdienst im Sandboxmodus ausgeführt wird, der die Auswertung potenziell unsicherer Ausdrücke verhindert. Weitere Informationen zum Sandboxmodus finden Sie, wenn Sie in der Hilfe nach "Sandboxmodus" suchen.
Gibt einen Long-Wert zurück, der die aktuelle Lese-/Schreibposition in einer Datei angibt, die mit der Open-Anweisung geöffnet wurde.
Syntax
Seek( filenumber )
Die erforderliche DateinummerArgument ist eine ganze Zahl, die eine gültige Dateinummer enthält.
Hinweise
Seek gibt einen Wert zwischen 1 und 2.147.483.647 zurück (entspricht 2^31 – 1).
Im Folgenden werden die Rückgabewerte für jeden Dateizugriffsmodus beschrieben.
Modus |
Rückgabewert |
Random |
Nummer des nächsten gelesenen oder geschriebenen Datensatzes |
Binär, Ausgabe, Anfügen, Eingabe |
Byteposition, an der der nächste Vorgang stattfindet. Das erste Byte in einer Datei befindet sich an Position 1, das zweite Byte an Position 2 usw. |
Beispiel
Hinweis: Die folgenden Beispiele zeigen die Verwendung dieser Funktion in einem VBA-Modul (Visual Basic for Applications). Wenn Sie weitere Informationen zum Arbeiten mit VBA wünschen, wählen Sie Entwicklerreferenz in der Dropdownliste neben Suchen aus, und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.
In diesem Beispiel wird die Seek-Funktion verwendet, um die aktuelle Dateiposition zurückzugeben. Im Beispiel wird davon ausgegangen TESTFILE eine Datei ist, 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 Zufälligen Modus geöffnet werden, gibt Seek die Anzahl des nächsten Datensatzes zurück.
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. ' Print record number to the Immediate window. Debug.Print Seek(1) Loop Close #1 ' Close file.
Für Dateien, die in anderen Modi als dem Zufallsmodus geöffnet werden, gibt Seek die Byteposition zurück, an der der nächste Vorgang stattfindet. Angenommen TESTFILE eine Datei ist, die einige Textzeilen enthält.
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. ' Print byte position to the Immediate window. Debug.Print Seek(1) Loop Close #1 ' Close file.