Функция Seek

Важно :  Данная статья переведена с помощью машинного перевода, см. Отказ от ответственности. Используйте английский вариант этой статьи, который находится здесь, в качестве справочного материала.

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

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

Синтаксис

Seek ( номер_файла )

Требуется номер_файлааргумент является целое число, содержащее допустимый номер файла.

Замечания

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

Для файлов, открытых в произвольном режиме 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.

Примечание : Отказ от ответственности относительно машинного перевода. Данная статья была переведена с помощью компьютерной системы без участия человека. Microsoft предлагает эти машинные переводы, чтобы помочь пользователям, которые не знают английского языка, ознакомиться с материалами о продуктах, услугах и технологиях Microsoft. Поскольку статья была переведена с использованием машинного перевода, она может содержать лексические,синтаксические и грамматические ошибки.

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

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

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

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×