Instrução Seek

Define a posição para a próxima operação de leitura/gravação dentro de um arquivo aberto usando a instrução Open .

Sintaxe

Buscar [ # ] filenumber, position

A sintaxe da instrução Seek tem estas partes:

Sair Descrição
númerodoarquivo Obrigatório. Qualquer número de arquivo válido.
position Obrigatório. Número no intervalo de 1 a 2.147.483.647, inclusive, que indica onde a próxima operação de leitura/gravação deve ocorrer.

Comentários

Os números de registro especificados nas instruções Get e Put substituem o posicionamento do arquivo executado por Seek.

Executar uma operação de gravação de arquivo após uma operação de busca além do final de um arquivo estende o arquivo. Se você tentar uma operação de busca para uma posição negativa ou zero, ocorrerá um erro.

Exemplo

Este exemplo usa a instrução Seek para definir a posição para a próxima leitura ou gravação em um arquivo. Este exemplo pressupõe que é um arquivo que TESTFILE contém registros do tipo Recorddefinido pelo usuário.

Type Record ' Define user-defined type. 
 ID As Integer 
 Name As String * 20 
End Type 

Para arquivos abertos no modo Aleatório, a Pesquisa define o próximo registro.

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. 

Para arquivos abertos em modos diferentes do modo Aleatório, a Pesquisa define a posição de byte na qual a próxima operação ocorrerá. Este exemplo pressupõe que TESTFILE seja um arquivo contendo algumas linhas de texto.

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. 

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.