Excel Avanzado

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

Excel Avanzado

Función FILEDATETIME

| 18 comentarios

Es una función de VBA que permite obtener la fecha y hora en el que un archivo fue creado o modificado por ultima vez.

El parámetro de entrada es una cadena que refiere a un nombre de un archivo, este puede incluir una carpeta y una unidad de disco. Además, el parámetro de entrada es de tipo String y devuelve un valor de tipo Date. Cabe aclarar que la fecha y hora depende de la configuración del sistema de cada computadora.

A continuación se muestra una programación de un ejemplo en el que se muestra la utilización de la función Filedatetime.

Sub obtenerfecha()
Dim archivo As String
archivo = Range("A1")
fecha = filedatetime(archivo)
Range("A2") = fecha
End Sub

 

A continuación se muestra una explicación de como funciona la macros descrita anteriormente.

Primero hay que declarar la variable o en este caso el parámetro de entrada para utilizar la función Filedatetime que es de tipo String, luego se coloca en que celda se va a encontrar el parámetro de entrada archivo, en este caso se va a almacenar en la celda A1. Después, definimos la variable fecha que va a almacenar el resultado de esta función que va a ser la fecha y hora en que se modificó por última vez el archivo almacenado en la celda A1. Finalmente, se que coloca la celda en el que se va a almacenar la variable fecha, en este caso se va a almacenar en la celda A2.

 

A continuación se va a mostrar algunos casos en el que se puede emplear la función Filedatetime.

-En una empresa en que se tiene un sistema de información, esta función puede ser muy útil para conocer si el sistema esta siendo o ha sido modificado por algún trabajador porque se va a saber la fecha y hora en que se modificó por ultima vez.

-En una empresa donde se quiere proteger la información de ésta, esta función se puede utilizar para saber la fecha y hora en se modificó la información y a partir de esto nadie mas puede modificar dicha información y así esta se encuentre segura hasta que se requiera utilizar dicha información.

 

A continuación se adjunta un ejemplo aplicativo de la función Filedatetime.

Ejemplo_funcionFILEDATETIME

 

En conclusión, esta función es muy útil para saber cuando se creó o modificó un archivo por ultima vez, conociendo el nombre de dicho archivo.

 

Por: Emerson Cabrera

 

 

18 comentarios

  1. Evidentemente también podría anotar en la celda A1 la ruta del propio archivo Excel que estoy abriendo y donde está la macro. Esto para llevar una suerte de registro de las modificaciones que he hecho. Creo que incluso existe un comando que permite extraer la ruta del archivo porque este podría ser movido y ya la macro no funcionaría. Esto último sistematizaría aún mas la macro.

  2. Efectivamente Saúl

    Ese comando lo puedes examinar en
    https://www.excel-avanzado.com/20209/abrir-libro-con-macros.html

    Saludos

  3. Esta funcion puede ser muy util para las Empresas que tienen un sistema de information para saber si el sistema esta siendo modificado o alterado por algun trabajador, mostrara la fecha y hora que se modifico por ultima vez.

  4. - La función FILEDATETIME nos permite obtener la fecha y hora de un archivo que se creo y modificó por última vez.
    - Su parámetro de entrada de esta función es de tipo string y devuelve un valor tipo fecha.
    - La fecha y la hora tiene mucho que ver con la configuración de cada computadora.

  5. La función FILEDATETIME de VBA, me parece muy útil para la proteger y asegurar archivos de de base de datos que es usado por varios usuarios, nos permitirá identificar rápidamente la fecha y hora de la última modificación.

  6. Esta función me será útil para saber la última información modificada, es que manejo varios archivos en excel y algunos son versiones anteriores, pero al final me puedo confundir. Por eso antes de cargarlos al Oracle lo reviso uno por uno, tarea que demora, pero con esta función podré ahorrarme ese tiempo.

  7. Esta función, es realmente útil para saber si alguien esta entrando al archivo. Pero ¿Existe algún comando complementario que pueda decirte quien entro o desde que computadora? En el caso de las empresas, seria muy útil saber desde que computadora se entro y quien fue el ultimo en modificar el archivo.

  8. Hola, no se si me podéis ayudar.
    tengo un excel resumen de clientes, donde tengo, en la columna A el nombre del cliente, en al B el vinculo para abrir el excel directamente, y me gustaía poner en la columna C la fecha de la ultima modificación o actualización del fichero.
    Se que se puede hacer pero con el excel en castellano no encuentro la formula. Tampoco en internet..
    gracias por vuestra ayuda!

    • Buenos días:

      Tengo una rutina compuesta por varias funciones que me hace todo eso desde una carpeta, si tienes todos los archivos en una carpeta es sencillo, la rutina va lee cada archivo y te da los ultimos datos de modificación e inclusive te genera los hipervinculos, para mi ha sido bastante útil.

      Si aun lo sigues necesitando me avisas, deber tener algo de conocimientos de macros para poder modificarla a tus necesidades, pero nada del otro mundo tampoco.

      Saludos cordiales

      • Hola Argenis,muchisimas gracias!
        si sigo interesada!
        como podemos contactar para que me lo expliques..
        si tengo dominio de macros..
        gracias!

        • Estimados Argenis y Paloma los invite a unirse al grupo a fin de que se puedan apoyar mutuamente https://www.facebook.com/groups/744813545597355/

  9. Hola Emerson, muy buena explicación, me puedes ayudar sobre el error que aparece en el ejemplo, lo bajo a la PC lo ejecuto y la macro presenta un error cuando presiono depurar , me señala una flecha de error en => fecha
    me puedes indicar que estare haciendo mal?

    Sub obtenerfecha()
    Dim archivo As String
    archivo = Range("a1")
    fecha = filedatetime(archivo)
    Range("a2") = fecha
    End Sub

  10. Disculpe buen dia temgo en el trabajo unas carpetas donde temgo que estraer el nombre ila fecha y hora del ultimo archibo modificado cada hora masomenos k es que cae un archivo nuevo a esa carpeta como puedo aser para queme devuelba tambien el nombre del archivo que se acava de generar y no solo la fecha y hora.

  11. codigo excel vba para listar carpeta a partir de una fecha determinada

  12. Necesitaría un código excel vba para listar carpeta a partir de una fecha determinada.
    La idea es progresar un listado creciente que no obligue a eliminar todo el listado de la hoja y volver a instalarlo.
    Se me ocurre que antes de comenzar el listado, el código explore e identifique fecha y hora del último registro del último listado en nuestro libro, y comience el proceso de listado de la carpeta, a partir del registro inmediato posterior, independientemente del nombre del archivo.
    Desde ya, muchas gracias.

  13. HOla, lescuento que en mi excel recien me funciono la macro cuando le añadi:
    archivo = Range("a1").Text

    bueno ahora si me funciona, alguien me puede explicar que paso, cuando a otros dicen que si les funcionó como esta escrito en este post ?

  14. Buenos días, como puedo hacer para que esta función me sirva para una lista de ficheros, es decir tengo en la columna "A" un listado de diferentes archivos y ubicaciones en diferentes carpetas y quiero que en la columna "B" me devuelva las fechas de modificación de cada uno; creo que con un bucle se puede hacer; alguien tiene idea de como?, gracias.

  15. y para saber el nombre del archivo

Deja una respuesta

Los campos requeridos estan marcados con *.