Observação
A função, o método, o objeto ou a propriedade descrita neste tópico será desabilitada se o Serviço de Expressão do Microsoft Jet estiver em execução no modo de área restrita, o que impede a avaliação de expressões potencialmente inseguras. Para obter mais informações sobre o modo sandbox, pesquise "modo sandbox" na Ajuda.
Retorna um Long especificando a posição atual de leitura/gravação em um arquivo aberto.
Sintaxe
Loc(filenumber)
O argumento filenumbernecessário é qualquer número de arquivo inteiro válido.
Comentários
A seguir, descrevemos o valor de retorno para cada modo de acesso ao arquivo:
| Modo | Valor de retorno |
|---|---|
| Aleatório | Número do último registro lido ou gravado no arquivo. |
| Sequencial | Posição atual do byte no arquivo dividida por 128. No entanto, as informações retornadas por Loc para arquivos sequenciais não são usadas nem obrigatórias. |
| Binário | Posição do último byte lido ou gravado. |
Exemplo
Observação
Os exemplos a seguir demonstram o uso dessa função em um módulo do Visual Basic for Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do desenvolvedor na lista suspensa ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.
Este exemplo usa a função Loc para retornar a posição atual de leitura/gravação em um arquivo aberto. Este exemplo pressupõe que TESTFILE seja um arquivo de texto com algumas linhas de dados de exemplo.
Dim MyLocation, MyLine
' Open file just created.
Open "TESTFILE" For Binary As #1
' Loop until end of file.
Do While MyLocation < LOF(1)
' Read character into variable.
MyLine = MyLine & Input(1, #1)
' Get current position within file.
MyLocation = Loc(1)
' Print to the Immediate window.
Debug.Print MyLine; Tab; MyLocation
Loop
Close #1 ' Close file.