Observação: Desejamos fornecer o conteúdo da Ajuda mais recente no seu idioma da forma mais rápida possível. Esta página foi traduzida de forma automatizada e pode conter imprecisões ou erros gramaticais. Nosso objetivo é que este conteúdo seja útil para você. As informações foram úteis? Dê sua opinião no final desta página. Aqui está o artigo em inglês para facilitar a referência.
Observação: A função, método, objeto ou propriedade descrito neste tópico será desabilitada se o Microsoft Jet Expression Service está em execução no modo de área restrita, o que impede a avaliação das expressões possivelmente não seguras. Para obter mais informações sobre o modo seguro, procure por "modo seguro" na Ajuda.
Retorna um longo que especifica a posição de leitura/gravação atual em um arquivo aberto usando a instrução Abrir .
Sintaxe
Seek ( filenumber )
O necessário filenumberargumento é um inteiro que contém um válido número do arquivo.
Comentários
Seek retorna um valor entre 1 e 2.147.483.647 (equivalente a 2 ^ 31 – 1), inclusive.
A seguir descreve os valores de retorno para cada modo de acesso de arquivo.
Modo | Valor de retorno |
---|---|
Aleatório |
Número do próximo registro lido ou gravado |
Binário, |
Posição do 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
Observação: Exemplos a seguir demonstram o uso dessa função em um Visual Basic para módulo Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione a Referência do desenvolvedor na lista suspensa ao lado de pesquisa e insira um ou mais termos na caixa de pesquisa.
Este exemplo usa a função Seek para retornar a posição atual do arquivo. O exemplo supõe TESTFILE é um arquivo contendo registros do tipo definido pelo usuário Record.
Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
Para arquivos abertos no modo aleatório, 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.
' Print record number to the Immediate window.
Debug.Print Seek(1)
Loop
Close #1 ' Close file.
Para arquivos abertos em modos aleatório, Seek retorna a posição do byte na qual a próxima operação ocorre. Suponha que TESTFILE é um arquivo contendo 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.