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