Opmerking: De functie, methode, object of eigenschap die in dit onderwerp wordt beschreven, is uitgeschakeld als de Microsoft Jet Expression-service wordt uitgevoerd in de sandbox-modus, waardoor de evaluatie van mogelijk onveilige expressies wordt voorkomen. Zoek naar 'sandbox-modus' in de Help voor meer informatie over de sandboxmodus.
Retourneert een Lange die de huidige lees-/schrijfpositie opgeeft in een bestand dat is geopend met behulp van de instructie Openen .
Syntaxis
Seek( filenumber )
Het vereiste bestandnummerargument is een geheel getal met een geldige bestandsnummer.
Opmerkingen
Zoeken retourneert een waarde tussen 1 en 2.147.483.647 (gelijk aan 2^31 – 1), inclusief.
Hieronder worden de retourwaarden voor elke bestandstoegangsmodus beschreven.
Modus |
Retourwaarde |
Willekeurig |
Nummer van de volgende record die wordt gelezen of geschreven |
Binair,Uitvoer,Toevoegen,Invoer |
Bytepositie waarop de volgende bewerking plaatsvindt. De eerste byte in een bestand bevindt zich op positie 1, de tweede byte bevindt zich op positie 2, enzovoort. |
Voorbeeld
Opmerking: In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Meer informatie over het werken met VBA vindt u door in de vervolgkeuzelijst naast Zoeken de optie Referentie voor ontwikkelaars te selecteren en een of meer termen in het zoekvenster te typen.
In dit voorbeeld wordt de functie Zoeken gebruikt om de huidige bestandspositie te retourneren. In het voorbeeld wordt ervan uitgegaan TESTFILE een bestand is met records van het door de gebruiker gedefinieerde type Record.
Type Record ' Define user-defined type.
ID As Integer Name As String * 20 End Type
Voor bestanden die zijn geopend in de modus Willekeurig, retourneert Zoeken het nummer van de volgende 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. ' Print record number to the Immediate window. Debug.Print Seek(1) Loop Close #1 ' Close file.
Voor bestanden die zijn geopend in andere modi dan de willekeurige modus, retourneert Seek de bytepositie waarop de volgende bewerking plaatsvindt. Stel TESTFILE een bestand is dat enkele regels tekst bevat.
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.