Vrátí hodnotu typu Long (Typ dat Long: Základní typ dat pro ukládání velkých celých čísel. Proměnná typu Long je uložena jako 32bitové číslo v rozmezí od -2 147 483 648 do 2 147 483 647.)
určující aktuální pozici čtení/zápisu v souboru otevřeném pomocí příkazu Open.
Syntaxe
Seek(číslo_souboru)
Povinný argument (Argument: Hodnota, která poskytuje informace určité akci, události, metodě, vlastnosti, funkci nebo proceduře.) číslo_souboruje hodnota typu Integer (Typ dat Integer: Základní typ dat zahrnující celá čísla. Proměnná Integer je uložena jako 16bitové (2bajtové) číslo s hodnotou v rozsahu od -32,768 do 32,767.) obsahující platné číslo souboru (Číslo souboru: Číslo použité v příkazu Open při otevírání souboru. U souborů, které nejsou přístupné z jiných aplikací, používejte čísla v rozsahu 1–255 včetně. U souborů dostupných z jiných aplikací používejte čísla v rozsahu 256–511.).
Poznámky
Funkce Seek vrátí hodnotu od 1 do 2 147 483 647 (ekvivalent 2^31 – 1) včetně.
Následující text popisuje vrácené hodnoty pro jednotlivé režimy přístupu k souboru.
| Režim |
Vrácená hodnota |
| Náhodný |
Číslo dalšího přečteného nebo zapsaného záznamu |
Binární,, Výstupní, Přidávací, Vstupní |
Pozice bajtu, u kterého bude provedena další operace. První bajt souboru je na pozici 1, druhý na pozici 2 atd. |
Příklad
Poznámka: Následující příklady uvádějí použití této funkce v modulu jazyka Visual Basic for Applications (VBA). Další informace o práci s jazykem VBA získáte tak, že klepnete na položku Referenční informace pro vývojáře v rozevíracím seznamu vedle pole Hledat a do pole pro hledání zadáte jeden nebo více pojmů.
V tomto příkladu je pomocí funkce Seek vrácena aktuální pozice v souboru. Příklad předpokládá, že 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
Pro soubory otevřené v režimu Náhodný vrací funkce Seek číslo následujícího 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.
Pro soubory otevřené v jiném než náhodném režimu vrací funkce Seek pozici bajtu, u kterého bude provedena následující operace. Funkce předpokládá, že 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.