Примечание
Функция, метод, объект или свойство, описанные в данном разделе, отключаются, если служба обработки выражений Microsoft Jet выполняется в режиме песочницы, который не позволяет рассчитывать потенциально небезопасные выражения. Для получения дополнительных сведений выполните в справке поиск по словам "режим песочницы".
Возвращает значение Long, указывающее текущую позицию чтения и записи в файле, открытом с помощью инструкции Open .
Синтаксис
Seek(filenumber)
Обязательный аргумент filenumber— это целое число, содержащее допустимый номер файла.
Замечания
Функция Поиска возвращает значение от 1 до 2 147 483 647 (эквивалентно 2^31 –1) включительно.
Ниже описаны возвращаемые значения для каждого режима доступа к файлам.
| Режим | Возвращаемое значение |
|---|---|
| Произвольный | Номер следующей записи, прочитанного или записанного |
|
Двоичный, Выходные данные, Добавить, Ввод |
Позиция байтов, в которой выполняется следующая операция. Первый байт в файле находится в позиции 1, второй байт — в позиции 2 и т. д. |
Пример
Примечание
В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (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.