¿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 sentencia `Open`.
  • Utiliza `Seek` para establecer la posición del siguiente byte que será leído o escrito en el archivo.

La sintaxis para `Seek` es la siguiente:

Seek( fileNumber ) = position

donde:

  • `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:

Sub ExampleSeek()
    ' Define el nombre del archivo y el path
    Dim filePath As String
    filePath = "C:tu_directorioarchivo.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 nuestros servicios

Conoce nuestra tienda

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Deja un comentario