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 long som anger den aktuella positionen för läsning/skrivning i en fil som öppnas med hjälp av open-instruktionen.
Syntax
Seek( filumber )
Den obligatoriska filenumberargument är ett heltal som innehåller ett giltigt filnummer.
Kommentarer
Sök 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 läst eller skriven |
|
Binary,Output,Append,Input |
Byteposition där nästa åtgärd utförs. Den första byte i en fil är på position 1, den andra byte är 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. I exemplet förutsätts TESTFILE ä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 * 20End Type
För filer som öppnas i slumpmässigt läge returnerar Sök antalet 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) LoopClose #1 ' Close file.
För filer som öppnas i andra lägen än slumpmässigt läge returnerar Sök bytepositionen där nästa åtgärd utförs. Anta att TESTFILE är en fil som innehåller några rader med text.
Dim MyCharOpen "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) LoopClose #1 ' Close file.