Funktion suchen
Hinweis: Die in diesem Thema beschriebenen Funktionen, Methoden, Objekte oder Eigenschaften sind deaktiviert, wenn der Microsoft Jet-Ausdrucksdienst im Sandkastenmodus ausgeführt wird, wodurch die Auswertung potenziell unsicherer Ausdrücke verhindert wird. Um weitere Informationen zum Sandbox-Modus zu erhalten, suchen Sie in der Hilfe nach „Sandbox-Modus".
Gibt einen Long zurück, der die aktuelle Lese-/Schreibposition innerhalb einer Datei angibt, die mit der Open -Anweisung geöffnet wurde.
Syntax
Suchen ( Dateinummer )
Das erforderliche filenumber- Argument ist eine ganze Zahl, die eine gültige Dateinummer enthält.
Bemerkungen
Seek gibt einen Wert zwischen 1 und 2.147.483.647 (entspricht 2^31 – 1) zurück.
Im Folgenden werden die Rückgabewerte für jeden Dateizugriffsmodus beschrieben.
Modus | Rückgabewert |
Zufällig | Nummer des nächsten gelesenen oder geschriebenen Datensatzes |
Binär , | Byte-Position, an der die nächste Operation stattfindet. Das erste Byte in einer Datei befindet sich an Position 1, das zweite Byte an Position 2 und so weiter. |
Beispiel
Hinweis: Die folgenden Beispiele veranschaulichen die Verwendung dieser Funktion in einem Visual Basic for Applications (VBA)-Modul. Um weitere Informationen zum Arbeiten mit VBA zu erhalten, wählen Sie Entwicklerreferenz in der Dropdown-Liste neben Suchen aus und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.
Dieses Beispiel verwendet die Seek -Funktion, um die aktuelle Dateiposition zurückzugeben. Das Beispiel geht davon aus, dass TESTFILE eine Datei ist, die Datensätze des benutzerdefinierten Typs Record enthält.
Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
Bei im Zufallsmodus geöffneten Dateien gibt Seek die Nummer 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 einem anderen Modus als dem Random-Modus geöffnet wurden, gibt Seek die Byte-Position zurück, an der die nächste Operation stattfindet. Angenommen, TESTFILE ist eine Datei, 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.
No comments:
Post a Comment