Função Seek

Nota: A função, método, objeto ou propriedade descrita neste tópico está desativada se o Serviço Microsoft Jet Expression estiver em execução no modo sandbox, o que impede a avaliação de expressões potencialmente inseguras. Para obter mais informações sobre o modo sandbox, procure "modo sandbox" na Ajuda.

Devolve um Valor Longo especificando a posição de leitura/escrita atual num ficheiro aberto com a instrução Abrir .

Sintaxe

Seek( filenumber )

Oargumento de numeração de ficheiros necessário é um Número Inteiro que contém um número de ficheiro válido.

Observações

Procurar devolve um valor entre 1 e 2.147.483.647 (equivalente a 2^31 – 1), inclusive.

O seguinte descreve os valores devolvidos para cada modo de acesso a ficheiros.

Moda

Valor Devolvido

Aleatório

Número do registo seguinte lido ou escrito

Binário,
Saída,
Acrescentar,
Entrada

Posição de byte na qual a próxima operação ocorre. O primeiro byte num ficheiro está na posição 1, o segundo byte está na posição 2 e assim sucessivamente.


Exemplo

Nota: Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.

Este exemplo utiliza a função Seek para devolver a posição atual do ficheiro. O exemplo pressupõe TESTFILE é um ficheiro que contém registos do tipo definido pelo utilizador Record.

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

Para ficheiros abertos no modo Aleatório, Procurar devolve o número do registo seguinte.

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.

Para ficheiros abertos em modos diferentes do modo Aleatório, Procurar devolve a posição de byte na qual a operação seguinte ocorre. Suponha que TESTFILE é um ficheiro 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.
' Print byte position to the Immediate window.
Debug.Print Seek(1)
Loop
Close #1 ' Close file.

As informações foram úteis?

Para proteger a sua privacidade, não inclua informações de contacto nos seus comentários. Reveja o nosso Política de privacidade.