Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
función filelen vba

Función FileLen en VBA

| 5 Comments

La función “FileLen” en VBA sirve para hallar el tamaño de un archivo.

Esta recibe como parámetro una expresión tipo string (cadena de caracteres) que especifica la ubicación de un archivo.

Y, devuelve como resultado un valor de tipo long, que contiene la longitud de dicho archivo en bytes.

Ejemplo:

tamArch = FileLen( nArch)

     –  nArch (el parámetro de la función) es la ubicación de un archivo; por ejemplo, “D:\Users\Alvaro\Documents\ARTE.doc”

     –  tamArch es el tamaño del archivo ingresado como parámetro; en este caso, 211456 bytes

La ubicación del archivo debe ser exacta, ya que si se ingresa como parámetro un archivo que no existe, se producirá un error.

En caso, se ingrese la ruta de un archivo que se encuentre abierto, cuando se llame a la función FileLen, el valor devuelto será el último tamaño del archivo cuando se guardó por ultima vez en el disco.

Ejemplo dentro de una función:

Function HallaTamanoDeArchivoEnBytes(nArch)

resultado = FileLen(nArch)

HallaTamanoDeArchivoEnBytes = resultado

MsgBox “El tamaño del archivo ” & nArch & ” , en bytes, es el sgte.: ” & resultado

End Function

La función HallaTamanoDeArchivoEnBytes recibe como parámetro el nombre del archivo (nArch), que sería un string y devuelve un long (resultado).  Además, muestra un mensaje indicando lo siguiente: “El tamaño del archivo ” & nArch & ” , en bytes, es el sgte.: ” & resultado . Esto es para que el usuario compruebe si el archivo que ingresó es el correcto, ya que el mensaje muestra el nombre del archivo ingresado junto a su tamaño.

Función FileLen ejemplo

función filelen vba 01

función filelen vba 02

función filelen vba 04

(Para mayor visualización de la imagen, hacer click en la misma)

 

Nombre: Álvaro Diego Llano Castañeda

5 Comments

  1. Estimados, el siguiente codigo para poder ejecutar esta funcion como una macro:

    Function Tamaño_Archivo(ruta)

    tamaño = FileLen(ruta)
    Tamaño_Archivo = tamaño
    MsgBox (tamaño)

    End Function

    Sub Macro_Calcular_Tamaño_Archivo_Bytes()

    Range(“c5”) = Tamaño_Archivo(Range(“b5”))

    End Sub

  2. Es posible unir la función “FileLen” con el “FileDialog” y de esta manera optimizar la búsqueda la de la ruta del archivo?
    Y en que ocación es útil conocer el tamaño del archivo en Bytes?
    Como los transformo en MegaBytes?

    • Realizando una regla de tres con las siguientes referencias.
      Tabla de Referencia
      8 Bit = 1 Byte
      1024 Byte = 1 Kbyte
      1024 KByte = 1 MegaByte
      1024 MByte = 1 GigaByte
      1024 GByte = 1 TeraByte
      1024 Terabytes = 1 Petabyte

  3. Sería posible usar esta función FileLen para configurar la importación máxima de datos (tipo datos de varias hojas de calculo) a una macro?

  4. Es increible la cantidad de cosas que se puede hacer con macros, esto del tamaño del archivo a mi solo se me ocurria buscarlo en la opcion de propiedades, sin embargo seria útil, se me ocurre para controlar el espacio disponible en discos duros extraibles o en memorias USB, de esta manera conocería por un lado si puedo o no copiar determinados archivos, también para el envio de archivos por correo electrónico.

Deja un comentario

Required fields are marked *.


Excel Avanzado located at , Lima, Perú . Reviewed by usuarios rated: 4.7 / 5