Примітка.
Функція, метод, об’єкт або властивість, описана в цьому розділі, недоступна, якщо Microsoft Jet Expression Service працює в режимі ізольованого програмного середовища, що запобігає обчисленню потенційно небезпечних виразів. Щоб отримати докладні відомості про режим ізольованого програмного середовища, у вікні довідки шукайте за запитом "режим ізольованого програмного середовища".
Повертає значення типу Long, яке вказує поточне положення читання й записування у файлі, відкритому за допомогою інструкції Open .
Синтаксис
Seek(номер файлу)
Обов'язковий аргумент номера файлу– це ціле число, яке містить припустимий номер файлу.
Примітки
Функція SEEK повертає значення від 1 до 2 147 483 647 (еквівалент від 2^31 – 1) включно.
Нижче описано значення, що повертаються для кожного режиму доступу до файлів.
| Режим роботи | Значення, що повертається |
|---|---|
| Випадково. | Номер наступного прочитаного або записаного запису |
|
Binary (Бінарний) Висновок, Додати, Вхідні дані |
Позиція байта, на якій відбувається наступна операція. Перший байт у файлі перебуває в позиції 1, другий – у позиції 2 тощо. |
Приклад
Примітка.
У прикладах нижче показано використання цієї функції в модулі Visual Basic for Applications (VBA). Щоб отримати докладні відомості про використання модуля VBA, клацніть пункт Довідник розробника в розкривному списку поряд із полем Пошук і введіть у поле пошуку принаймні один термін.
У цьому прикладі функцію Seek використано, щоб повернути поточне розташування файлу. У прикладі TESTFILE припускається, що це файл, який містить записи визначеного користувачем типу Record.
Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
Для файлів, відкритих у випадковому режимі, функція пошуку повертає номер наступного запису.
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.
Для файлів, відкритих у режимах, відмінних від режиму Random, функція Seek повертає позицію байтів, у якій відбувається наступна операція. Припустимо TESTFILE , це файл, який містить кілька рядків тексту.
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.