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.
(Para mayor visualización de la imagen, hacer click en la misma)
Nombre: Álvaro Diego Llano Castañeda
18/05/2013 a las 8:47 pm
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
19/05/2013 a las 11:23 pm
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?
03/06/2013 a las 7:28 pm
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
14/07/2013 a las 8:01 pm
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?
06/09/2013 a las 1:06 pm
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.
01/06/2020 a las 5:13 pm
Buenas tardes.
Bajé el archivo adjunto de esta web, que contiene el macro HallaTamanoDeArchivoEnBytes.
Pasé una planilla que uso habitualmente para listar archivos de trabajo, a la planilla del ejemplo adjunto, ya que necesitaba calcular el tamaño de los archivos listados.
Al ajustar el directorio, me dio el resultado de los tamaños correctamente, pero solamente hasta archivos de 2 GB.
Después, los archivos mayores a 2 GB o bien me calcula mal el tamaño o me da valores negativos.
Conoces el error que puede estar generando esto?
Tenes algún archivo modelo que ya esté corregido este error?
Te comento que uso excel básico y no estoy interiorizado con el uso de macros.
Agradezco tu respuesta,
saludos
Alejandro