¿Cómo usar la función Seek en VBA?

La función Seek en VBA se utiliza generalmente para mover la posición actual de un archivo abierto en modo binario. Es decir, si has abierto un archivo utilizando Open con los modos Binary, Random, o Input o Output, puedes cambiar la posición del puntero dentro del archivo.

Aquí te presento cómo usar Seek en el contexto de un archivo binario:

  • Abre un archivo en modo binario usando la instrución Open.
  • Utiliza Seek para establecer la posición del siguiente byte que será leído o escrito en el archivo.

Sintaxis básica

VBA

Seek( fileNumber ) = position

  • fileNumber: Es un número entero que corresponde al número de archivo que se devuelve cuando se abre un archivo con la función Open.
  • position: Es la posición a la que deseas mover el puntero dentro del archivo. La primera posición en un archivo es 1.

Aquí te dejo un ejemplo ilustrativo sobre cómo usar Seek en VBA:

VBA

Sub ExampleSeek()
    ' Define el nombre del archivo y el path
    Dim filePath As String
    filePath = "C:\tu_directorio\archivo.dat"
    
    ' Variables para trabajar con el archivo
    Dim fileNumber As Integer
    Dim data As String
    
    ' Abre el archivo para operaciones binarias
    fileNumber = FreeFile()
    Open filePath For Binary As fileNumber
    
    ' Mueve el puntero al inicio del archivo
    Seek fileNumber, 1
    
    ' Lee o escribe datos
    ' Por ejemplo, lee los primeros 10 bytes del archivo
    data = String(10, 0) ' Crea un string de 10 caracteres para leer en el
    Get #fileNumber, , data
    
    ' Mueve el puntero a la posición que desees, por ejemplo al byte 20
    Seek fileNumber, 20
    
    ' Lee o escribe más datos, suponiendo que queremos escribir algo:
    Put #fileNumber, , "Hola Mundo"
    
    ' Siempre cierra el archivo cuando termines
    Close fileNumber
End Sub

En este ejemplo, lo que hacemos es abrir un archivo para lectura/escritura binaria, luego utilizamos Seek para ir a una posición específica y proceder con la lectura o escritura de datos.

Recuerda siempre cerrar los archivos con Close cuando hayas terminado de trabajar con ellos para evitar problemas de bloqueo o corrupción de datos.

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

¡Únete a nuestro Grupo de Facebook!

Deja un comentario