Função Seek

Nota: Queremos fornecer-lhe os conteúdos de ajuda mais recentes o mais rapidamente possível e no seu idioma. Esta página foi traduzida automaticamente e pode conter erros gramaticais ou imprecisões. O nosso objetivo é que estes conteúdos lhe sejam úteis. Pode informar-nos se as informações foram úteis no final desta página? Eis o artigo em inglês para referência.

Nota: A função, método, objeto ou propriedade descritas neste tópico é desativada se o serviço do Microsoft Jet expressão estiver em execução no modo sandbox, que impede a avaliação de expressões potencialmente inseguros. Para obter mais informações sobre o modo sandbox, procure "o modo sandbox" na ajuda.

Devolve um valor longo especificando a posição atual da leitura/escrita dentro de um ficheiro aberto utilizando a instrução Open .

Sintaxe

Atingir ( númeroficheiro )

O necessários númeroficheiroargumento for um número inteiro que contém uma válido número de ficheiro.

Comentários

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

A seguinte tabela descreve os valores devolvidos para cada modo de acesso do ficheiro.

Mode

Valor Devolvido

Aleatório

Número do registo seguinte leitura ou escrita

Binário,
desaída,
Acrescentar,
entrada

Posição de byte no qual a próxima operação ocorre o mais. 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 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 atingir para devolver a posição de ficheiro atual. O exemplo assume 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

Ficheiros abertos no modo de aleatório, atingir devolve 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.

Ficheiros abertos no modos de que não seja o modo de aleatório, atingir devolve a posição de byte no qual a próxima operação ocorre o mais. Assuma TESTFILE é um ficheiro que contenha 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.
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.

×