Fecha ultima modificacion

Solo disponible en BuenasTareas
  • Páginas : 7 (1512 palabras )
  • Descarga(s) : 0
  • Publicado : 30 de agosto de 2010
Leer documento completo
Vista previa del texto
Estaba preguntando si era posible obtener la fecha de creación de un fichero excel, para implementarla dentro del propio fichero. Algo así como la función =HOY(), pero sin que variase a la hora de abrir el fichero, pues al abrir el libro en cuestión, automáticamente se actualizaría la fecha, poniendo la fecha del día en curso.

Como esta utilidad puede servirle a más de uno, y como me heacordado del preciado objeto FileSystemObject (ahora veréis que es, si es que no lo habéis visto ya en algún que otro artículo de este blog), vamos a dar respuesta a las inquietudes de ese lector.

El objeto FileSystemObject (en adelante lo llamaremos FSO), nos permite operar con ficheros. No es algo que debamos añadir (ningún complemento, ningún ActiveX, ...nada de esas cosas). El objeto FSO lotenemos todos :-)

El objeto FSO nos permite leer, escribir, borrar, copiar, etc., determinados ficheros y carpetas (directorios). Tiene sus ventajas, pero también sus riesgos, si este objeto es utilizado por gente irresponsable. ¿Qué riesgos?. Vamos a dejarlo ahí, ...si no te has dado cuenta de lo que quiero decir, es que no has leído bien este párrafo :-)

Vamos al grano. ¿Podemos saber la fechade creación de un fichero excel?. Por supuestísimo. Pero no solo eso, además, podemos saber la fecha de la última modificación de un fichero excel, y la fecha del último acceso a un fichero excel (si ejecutamos esto en el fichero abierto, aparentemente, la fecha de último acceso será la de hoy y ahora, pero Excel devuelve la fecha inmediatamente anterior a la de hoy, es decir, el último acceso sincontar el de hoy, a no ser que grabes los cambios, cierres y abras una segunda vez el fichero en el mismo día), aunque no lo hayamos modificado (si lo hemos abierto para chafardear su contenido). ¿Qué te parece?. ¿Mola saber todo eso, eh?. Pues hala, como postre, también averiguaremos cuanto pesa el fichero en Kbytes.

Copiaremos este macro dentro de ThisWorkbook (no dentro de un Módulo, sinodentro de ThisWorkbook), tal y como se muestra en la siguiente imagen:

[pic]
El macro en cuestión es este (debe mantenerse ese nombre, pues se ejecuta en el momento de abrirse el fichero, a través del evento open):
|Private Sub Workbook_Open() |
|'Si hay errores, que continúe|
|On Error Resume Next |
|'pasamos la ruta y el nombre del |
|'fichero activo, a una variable|
|fichero_y_ruta = ActiveWorkbook.Path & "" & ActiveWorkbook.Name |
|'Creamos el objeto FileSystemObject |
|Set fso =CreateObject("Scripting.FileSystemObject") |
|'seleccionamos el libro activo |
|Set archivo = fso.GetFile(fichero_y_ruta) |
|'vamos a ver los datos quenecesitamos |
|fecha_creacion = archivo.DateCreated |
|fecha_modificacion = archivo.DateLastModified |
|fecha_ultimo_acceso =...
tracking img