Poznámka: Funkce, metoda, objekt nebo vlastnost popsaná v tomto tématu jsou zakázány, pokud je služba Microsoft Jet Expression Service spuštěna v režimu sandboxu, což brání vyhodnocení potenciálně nebezpečných výrazů. Další informace o režimu sandboxu najdete v nápovědě pro "režim sandboxu".
Vrátí hodnotu typu Long určující aktuální pozici pro čtení a zápis v souboru otevřeném pomocí příkazu Open .
Syntaxe
Seek( filenumber )
Požadované číslo souboruArgument je celé číslo obsahující platné Číslo souboru.
Poznámky
Funkce Hledání vrátí hodnotu mezi 1 a 2 147 483 647 (ekvivalentem 2^31 –1), včetně.
Následující popis popisuje návratové hodnoty pro každý režim přístupu k souborům.
Modus |
Vrácená hodnota |
Náhodné |
Číslo dalšího přečteného nebo zapsaného záznamu |
binární, výstup, připojení, vstup |
Bajtová pozice, na které se provede další operace. První bajt v souboru je na pozici 1, druhý bajt je na pozici 2 atd. |
Příklad
Poznámka: Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.
Tento příklad používá funkci Seek k vrácení aktuální pozice souboru. Příklad předpokládá TESTFILE je soubor obsahující záznamy uživatelem definovaného typu Record.
Type Record ' Define user-defined type.
ID As Integer Name As String * 20 End Type
U souborů otevřených v náhodném režimu vrátí funkce Hledání počet dalších záznamů.
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.
U souborů otevřených v jiných režimech než v náhodném režimu vrátí funkce Seek pozici bajtu, na které se provede další operace. Předpokládejme TESTFILE je soubor obsahující několik řádků 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.