Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Задает позицию для следующей операции чтения и записи в файле, открытом с помощью инструкции Open .
Синтаксис
Поиск [ # ] filenumber, position
Синтаксис оператора Seek состоит из следующих частей:
| Part | Описание |
|---|---|
| filenumber | Обязательно указывать. Любой допустимый номер файла. |
| position | Обязательно. Число из диапазона от 1 до 2 147 483 647 включительно, которое указывает, где должна произойти следующая операция чтения/записи. |
Замечания
Число записей, указанных в инструкциях Get и Put , переопределяет расположение файлов, выполняемых методом Seek.
Выполнение операции чтения/записи после операции Seek за пределами конца файла приводит к расширению файла. Если вы попытаетесь выполнить операцию Seek для отрицательного или нулевого положения, возникает ошибка.
Пример
В этом примере оператор Seek используется для задания положения для следующей операции чтения или записи в файле. В этом примере предполагается, что TESTFILE это файл, содержащий записи определяемого пользователем типа Record.
Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
Для файлов, открытых в случайном режиме, Seek задает новую запись.
Dim MyRecord As Record, MaxSize, RecordNumber ' Declare variables.
' Open file in random-file mode.
Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
MaxSize = LOF(1) \ Len(MyRecord) ' Get number of records in file.
' The loop reads all records starting from the last.
For RecordNumber = MaxSize To 1 Step - 1
Seek #1, RecordNumber ' Set position.
Get #1, , MyRecord ' Read record.
Next RecordNumber
Close #1 ' Close file.
Для файлов, открытых в режимах, отличных от случайного, Seek задает положение байта, в котором будет выполнена следующая операция. В этом примере предполагается, что TESTFILE это файл, содержащий несколько строк текста.
Dim MaxSize, NextChar, MyChar
Open "TESTFILE" For Input As #1 ' Open file for input.
MaxSize = LOF(1) ' Get size of file in bytes.
' The loop reads all characters starting from the last.
For NextChar = MaxSize To 1 Step -1
Seek #1, NextChar ' Set position.
MyChar = Input(1, #1) ' Read character.
Next NextChar
Close #1 ' Close file.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.