Notă: Funcția, metoda, obiectul sau proprietatea descrise în acest subiect este dezactivată dacă Serviciul de expresii Microsoft Jet rulează în modul sandbox, ceea ce împiedică evaluarea expresiilor potențial nesigure. Pentru mai multe informații despre modul sandbox, căutați "modul sandbox" în Ajutor.
Returnează o valoare Lung care specifică poziția curentă citire/scriere dintr-un fișier deschis utilizând instrucțiunea Open .
Sintaxă
Căutare( număr fișier )
Numărul de fișier necesarargument este un număr întreg care conține o număr fișier validă.
Observații
Seek returnează o valoare între 1 și 2.147.483.647 (echivalent cu 2^31 – 1), inclusiv.
Următoarele descriu valorile returnate pentru fiecare mod de acces la fișiere.
Mod |
Valoarea returnată |
Aleator |
Numărul următoarei înregistrări citite sau scrise |
Binar, ieșire, adăugare,intrare |
Poziție octet la care are loc următoarea operațiune. Primul octet dintr-un fișier este la poziția 1, al doilea octet este la poziția 2 și așa mai departe. |
Exemplu
Notă: Exemplele care urmează demonstrează utilizarea acestei funcții într-un modul Visual Basic for Applications (VBA). Pentru mai multe informații despre lucrul cu VBA, selectați Referințe pentru dezvoltatori în lista verticală de lângă Căutare și introduceți unul sau mai mulți termeni în caseta de căutare.
Acest exemplu utilizează funcția Seek pentru a returna poziția curentă a fișierului. Exemplul presupune că TESTFILE este un fișier care conține înregistrări ale tipului definit de utilizator Record.
Type Record ' Define user-defined type.
ID As Integer Name As String * 20 End Type
Pentru fișierele deschise în modul aleator, Seek returnează numărul următoarei înregistrări.
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.
Pentru fișierele deschise în alte moduri decât modul aleator, Seek returnează poziția octet în care are loc următoarea operațiune. Să presupunem că TESTFILE este un fișier care conține câteva linii de 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.