Função Seek
Retorna um Long especificando a posição atual de leitura/gravação em um arquivo aberto usando a instrução Open .
Sintaxe
Seek(filenumber)
O argumento de número de arquivo necessário é um Inteiro que contém um número de arquivo válido.
Comentários
O Seek retorna um valor entre 1 e 2.147.483.647 (equivalente a 2^31 - 1), inclusivo.
A seguir, descreve os valores retornados para cada modo de acesso de arquivo.
Modo | Valor de retorno |
---|---|
Aleatório | Número do próximo registro lido ou escrito. |
Binary, Output, Append, Input | Posição byte na qual a próxima operação ocorre. O primeiro byte em um arquivo está na posição 1, o segundo byte está na posição 2 e assim por diante. |
Exemplo
Este exemplo usa a função Seek para retornar a posição do arquivo atual. O exemplo pressupõe que TESTFILE
seja um arquivo que contém registros do tipo Record
definido 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, o Seek retorna o número do próximo registro.
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.
Debug.Print Seek(1) ' Print record number to the Immediate window.
Loop
Close #1 ' Close file.
Para arquivos abertos em modos diferentes do modo Aleatório, o Seek retorna a posição de byte na qual a próxima operação ocorre. Suponha que TESTFILE
seja um arquivo que contém algumas linhas de texto.
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.
Debug.Print Seek(1) ' Print byte position to the Immediate window.
Loop
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.