Función Seek
Devuelve un valor Long que especifica la posición de lectura y escritura actual dentro de un archivo abierto mediante la instrucción Open .
Sintaxis
Seek(filenumber)
El argumentofilenumber necesario es un entero que contiene un número de archivo válido.
Comentarios
Seek devuelve un valor entre 1 y 2.147.483.647 (equivalente a 2^31 - 1), ambos inclusive.
A continuación, se describen los valores devueltos para cada modo de acceso a archivos.
Modo | Valor devuelto |
---|---|
Aleatorio | Número del siguiente registro leído o escrito. |
Binary, Output, Append, Input | Posición de byte en la que tiene lugar la siguiente operación. El primer byte de un archivo está en la posición 1, el segundo en la posición 2, etc. |
Ejemplo
En este ejemplo, se usa la función Seek para devolver la posición del archivo actual. En el ejemplo se supone que es un archivo que TESTFILE
contiene registros del tipo Record
definido por el usuario .
Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
Para los archivos abiertos en modo aleatorio, Seek devuelve el número del siguiente 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.
Debug.Print Seek(1) ' Print record number to the Immediate window.
Loop
Close #1 ' Close file.
Para archivos abiertos en modos distintos al modo Random, Seek devuelve la posición de byte en que tiene lugar la siguiente operación. Supongamos que es un archivo que TESTFILE
contiene algunas líneas 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.
Debug.Print Seek(1) ' Print byte position to the Immediate window.
Loop
Close #1 ' Close file.
Vea también
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.