Função Seek

Nota: A função, método, objeto ou propriedade descrito neste tópico é desativada se o Microsoft Jet Expression Service estiver a funcionar em 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" em Ajuda.

Retorna um Long especificando a posição atual de leitura/escrita dentro de um ficheiro aberto usando a declaração Open.

Sintaxe

Seek (número de ficheiros)

O número de ficheiros necessárioargumento é um Número Inteiro que contém um número de ficheiro válido .

Observações

Procurar devolução um valor entre 1 e 2.147.483.647 (equivalente a 2^31 – 1), inclusive.

O seguinte descreve os valores de devolução de cada modo de acesso ao ficheiro.

Moda

Valor Devolvido

Aleatório

Número do próximo disco lido ou escrito

Binário,
Saída,
Apêndice,
Entrada

Posição byte em que 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

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 Procurar 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 Random, procure o número de 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 Random, procure retornar a posição byte em que a próxima operação ocorre. Assuma 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.

Precisa de mais ajuda?

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×