Obs
Funktionen, metoden, objektet eller egenskapen som beskrivs i det här avsnittet inaktiveras om Microsoft Jet Expression Service körs i begränsat läge, vilket förhindrar utvärderingen av potentiellt osäkra uttryck. Om du vill ha mer information om begränsat läge söker du efter "begränsat läge" i hjälpen.
Returnerar en Long som anger den aktuella läs-/skrivpositionen i en fil som öppnats med Open-instruktionen.
Syntax
Seek(filnummer)
Det obligatoriska argumentet för filnummerär ett heltal som innehåller ett giltigt filnummer.
Kommentarer
Seek returnerar ett värde mellan 1 och 2 147 483 647 (motsvarande 2^31 – 1).
Nedan beskrivs returvärdena för varje filåtkomstläge.
| Läge | Returvärde |
|---|---|
| Slumpmässigt | Numret på nästa post som läses eller skrivs |
|
Binärt, Utdata, Lägg till, Ingång |
Byteposition där nästa åtgärd utförs. Den första byten i en fil finns på position 1, den andra byten finns på position 2 och så vidare. |
Exempel
Obs
I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Om du vill läsa mer om hur man använder VBA, kan du välja Info för utvecklare i listrutan bredvid Sök och sedan skriva en eller flera söktermer i sökrutan.
I det här exemplet används funktionen Sök för att returnera den aktuella filpositionen. Exemplet förutsätter TESTFILE att det är en fil som innehåller poster av den användardefinierade typen Record.
Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
För filer som öppnas i slumpvis läge returnerar Seek numret på nästa post.
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 filer som öppnas i andra lägen än slumpmässigt läge returnerar Seek den byteposition där nästa åtgärd utförs. Anta TESTFILE är en fil som innehåller några rader 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.
' Print byte position to the Immediate window.
Debug.Print Seek(1)
Loop
Close #1 ' Close file.