Примітка.: Функція, метод, об’єкт або властивість, описана в цьому розділі, недоступна, якщо Microsoft Jet Expression Service працює в режимі ізольованого програмного середовища, що запобігає обчисленню потенційно небезпечних виразів. Щоб отримати докладні відомості про режим ізольованого програмного середовища, у вікні довідки шукайте за запитом "режим ізольованого програмного середовища".
Повертає довге ціле, що вказує поточну позицію читання й записування у файлі, відкритому за допомогою оператора Open .
Синтаксис
Seek( filenumber )
Обов'язковий аргумент filenumber – це ціле число, що містить припустимі номер файлу.
Примітки
Функція "Пошук" повертає значення від 1 до 2 147 483 647 (еквівалент 2^31 – 1) включно.
Нижче описано значення, що повертаються для кожного режиму доступу до файлів.
Мода |
Значення, що повертається |
Випадково. |
Номер наступного запису, прочитаного або записаного |
Двійковий, вивід, додавання, ввід |
Позиція байтів, для якої виконується наступна операція. Перший байт у файлі має позицію 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
Для файлів, відкритих у довільному режимі, функція Seek повертає кількість наступного запису.
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.
Для файлів, відкритих не в довільному режимі, функція 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.