Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Примечание: Функция, метод, объект или свойство, описанные в данном разделе, отключаются, если служба обработки выражений Microsoft Jet выполняется в режиме песочницы, который не позволяет рассчитывать потенциально небезопасные выражения. Для получения дополнительных сведений выполните в справке поиск по словам "режим песочницы".

Возвращает значение Long, указывающее текущую позицию чтения и записи в файле, открытом с помощью инструкции Open .

Синтаксис

Seek( filenumber )

Обязательныйаргументfilenumber — это целое число, содержащее допустимый номер файла.

Замечания

Функция Поиска возвращает значение от 1 до 2 147 483 647 (эквивалентно 2^31 –1) включительно.

Ниже описаны возвращаемые значения для каждого режима доступа к файлам.

Режим

Возвращаемое значение

Произвольный

Номер следующей записи, прочитанного или записанного

Binary,
Output,
Append,
Input

Позиция байтов, в которой выполняется следующая операция. Первый байт в файле находится в позиции 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.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×