Nota: La función, método, objeto o propiedad descrita en este tema se deshabilita si el Servicio de expresiones de Microsoft Jet se ejecuta en modo de espacio aislado, lo que impide la evaluación de expresiones potencialmente no seguras. Para obtener más información sobre el modo de espacio aislado, busca "modo de espacio aislado" en la Ayuda.
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 )
Elargumentofilenumber obligatorio es un entero que contiene un número de archivo válido.
Comentarios
Buscar 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.
Moda |
Valor devuelto |
Aleatorio |
Número del siguiente registro leído o escrito |
Binario, salida, anexar, entrada |
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 byte está en la posición 2 y así sucesivamente. |
Ejemplo
Nota: Los ejemplos siguientes muestran el uso de esta función en un módulo de Visual Basic para Aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione referencia para desarrolladores en la lista desplegable situada junto a búsqueda y escriba uno o varios términos en el cuadro de búsqueda.
En este ejemplo se usa la función Buscar para devolver la posición actual del archivo. En el ejemplo se supone que TESTFILE es un archivo que contiene registros del tipo definido por el usuario Record.
Type Record ' Define user-defined type.
ID As Integer Name As String * 20 End Type
Para los archivos abiertos en modo aleatorio, Buscar devuelve el número del registro siguiente.
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.
Para los archivos abiertos en modos distintos del modo Aleatorio, Buscar devuelve la posición del byte en la que tiene lugar la siguiente operación. Suponga que TESTFILE es un archivo que 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. ' Print byte position to the Immediate window. Debug.Print Seek(1) Loop Close #1 ' Close file.