Megjegyzés
A témakörben ismertetett függvény, metódus, objektum vagy tulajdonság le van tiltva, ha a Microsoft Jet Expression Service védőfalas üzemmódban fut, mivel ez megakadályozza az esetleg nem biztonságos kifejezések kiszűrését. A védőfalas üzemmódról a súgóban a „védőfalas üzemmód” kifejezésre keresve talál további információt.
Egy Long értéket ad vissza, amely az Open utasítással megnyitott fájlon belüli aktuális olvasási/írási pozíciót adja vissza.
Szintaxis
Seek(filenumber)
A szükséges filenumberargumentum egy érvényes fájlszámot tartalmazó egész szám.
Megjegyzések
A Seek egy 1 és 2 147 483 647 közötti értéket ad vissza (ez a 2^31 –1 értéknek felel meg), a különbséget is beleértve.
Az alábbiakban az egyes fájlelérési módok visszatérési értékeit ismertetjuk.
| Mód | Visszatérési érték |
|---|---|
| Véletlen | A következő beolvasott vagy írt rekord száma |
|
Bináris, Kimenet, Hozzáfűzés, Bevitel |
A következő művelet végrehajtásának bájtpozíciója. A fájl első bájtja az 1. pozícióban van, a második bájt a 2. pozícióban van stb. |
Példa
Megjegyzés
A következő példák egy Visual Basic for Applications (VBA) modulban mutatják be a függvény használatát. A VBA használatáról a Keresés elem mellett található legördülő listából a fejlesztői forrásokat választva, majd egy vagy több keresőszót megadva kaphat további tájékoztatást.
Ez a példa a Seek függvénnyel adja vissza az aktuális fájlpozíciót. A példa feltételezi TESTFILE , hogy a fájl a felhasználó által megadott típusú Recordrekordokat tartalmazza.
Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
Véletlenszerű módban megnyitott fájlok esetén a Seek függvény a következő rekord számát adja vissza.
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.
A Véletlenszerű módtól eltérő módban megnyitott fájlok esetében a Seek a következő művelet végrehajtásának bájtpozícióját adja vissza. Tegyük fel TESTFILE , hogy egy fájl, amely néhány sornyi szöveget tartalmaz.
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.