Share via


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 incluidos.

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 Recorddefinido 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.

Consulte 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.