Devolve um valor Longo (tipo de dados longo: tipo de dados fundamental que contém números inteiros grandes. Uma variável do tipo Longo é armazenada como um número de 32 bits que varia entre -2.147.483.648 e 2.147.483.647.) que especifica a posição actual de leitura/escrita num ficheiro aberto.
Sintaxe
Loc(númeroficheiro)
O argumento (argumento: valor que fornece informações a uma acção, evento, método, propriedade, função ou procedimento.) númeroficheiro obrigatório é qualquer número de ficheiro (número de ficheiro: número utilizado na instrução Open para abrir um ficheiro. Utilize números de ficheiro no intervalo 1 - 255, inclusive, para ficheiros não acessíveis para outras aplicações. Utilize números de ficheiro no intervalo 256 - 511 para ficheiros acessíveis a partir de outras aplicações.) inteiro (tipo de dados Número inteiro: tipo de dados fundamental que contém números inteiros. Uma variável Número inteiro é armazenada como um número de 16 bits (2-bytes) que varia entre -32.768 e 32.767.) válido.
Observações
A tabela seguinte descreve o valor devolvido para cada modo de acesso ficheiro:
| Modo |
Valor Devolvido |
| Aleatório |
Número do último registo lido a partir do ficheiro ou escrito neste. |
| Sequencial |
Posição do byte actual no ficheiro dividida por 128. No entanto, as informações devolvidas por Loc para ficheiros sequenciais não são utilizadas nem necessárias. |
| Binário |
Posição do último byte lido ou escrito. |
Exemplo
Nota Os exemplos que se seguem demonstram a utilização desta função num módulo do Visual Basic for Applications (VBA). Para mais informações sobre como trabalhar com VBA, seleccione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de procura.
Este exemplo utiliza a função Loc para devolver a posição actual de leitura/escrita num ficheiro aberto. Este exemplo assume que TESTFILE é um ficheiro 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.