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.