Poznámka
Funkcia, metóda, objekt alebo vlastnosť, ktoré sú popísané v tejto téme, sú vypnuté, ak je služba Microsoft Jet Expression Service spustená v režime karantény, ktorý zabraňuje vo vyhodnocovaní možných nebezpečných výrazov. Ďalšie informácie o režime karantény nájdete vyhľadaním výrazu „režim karantény“ v Pomocníkovi.
Vráti hodnotu typu Long, ktorá určuje aktuálnu pozíciu čítania alebo zapisovania v rámci súboru, ktorý bol otvorený príkazom Otvoriť.
Syntax
Seek(číslo súboru)
Povinný argument číslovania súborovje celé číslo obsahujúce platné číslo súboru.
Poznámky:
Funkcia Seek vracia hodnotu medzi 1 a 2 147 483 647 (ekvivalent 2 ^ 31 – 1) vrátane.
V nasledujúcej časti nájdete popis vrátených hodnôt pre každý režim prístupu k súboru.
| Režim | Vrátená hodnota |
|---|---|
| Náhodné | Počet nasledujúcich čítaní alebo zápisov záznamu |
|
Binárne, Výstup, Pripojiť, Vstup |
Bajtová pozícia, v ktorej dochádza k ďalšej operácii. Prvý bajt v súbore je na pozícii 1, druhý bajt je na pozícii 2 a tak ďalej. |
Príklad
Poznámka
Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.
V tomto príklade je funkcia Seek použitá na vrátenie aktuálnej pozície súboru. V príklade TESTFILE sa predpokladá, že ide o súbor obsahujúci záznamy používateľom definovaného typu Record.
Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
V prípade súborov, ktoré sú otvorené v režime Náhodné, vráti funkcia Seek číslo ďalšieho záznamu.
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.
V prípade súborov, ktoré sú otvorené v inom režime ako v režime Náhodné, vráti funkcia Seek bajtovú pozíciu, v ktorej sa vykonáva ďalšia operácia. Predpokladajme, že TESTFILE ide o súbor obsahujúci niekoľko riadkov textu.
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.