Si observa las propiedades almacenadas con un libro de trabajo, notará que Excel mantiene bastante información sobre el archivo. Uno de los elementos es una fecha y hora que simplemente se indica como «Modificado». Mucha gente se refiere a esto como la fecha de «última modificación», pero en realidad refleja la última vez que se guardó el libro.

Si desea usar esta fecha en su libro de trabajo (tal vez en un encabezado o pie de página), puede hacerlo usando la propiedad BuiltinDocumentProperties (que casi suena redundante). La siguiente macro agregará la fecha adecuada al encabezado de su documento:

Sub MyHeader1()

Dim sLMD As String

On Error Resume Next

sLMD = ActiveWorkbook.BuiltinDocumentProperties("Last Save Time")

If Err = 440 Then         Err = 0         sLMD = "Not Set"

End If     sLMD = Left(sLMD, 8)

ActiveSheet.PageSetup.LeftHeader = "Last Saved: " & sLMD End Sub

Hay una serie de elementos a tener en cuenta en esta macro. En primer lugar, intenta determinar la última fecha en la que se guardó el libro. Si esa información no se puede determinar, establece el encabezado en «No establecido».

Tenga en cuenta que en esta macro se gestiona algún error. La razón es que Excel devolverá un error si no se establece una propiedad de documento en particular (BuiltinDocumentProperties en este caso). El error debe ser interceptado y manejado, lo que se hace aquí.

Hay otro elemento a destacar aquí. En algunas versiones de Excel, el valor Err devuelto si la propiedad no está configurada no es realmente 440 (como se muestra aquí), sino algún otro número impar, como -2147467259. De hecho, esto es muy extraño. Por qué el valor 440 (que es el código de error adecuado)

sería devuelto en una circunstancia y no en otra, no lo sé.

(Quizás algún otro gurú de Excel sepa la respuesta). Si tiene este problema, hay dos enfoques que puede tomar. Primero, puede reemplazar el valor 440 con el otro valor (-2147467259). La segunda opción, asumiendo que ya ha guardado el libro de trabajo al menos una vez, es usar una macro diferente. Lo siguiente lee el atributo «última modificación» del archivo y almacena esa información en el encabezado:

Sub MyHeader2()

Dim fs As Variant     Dim f As Variant     Dim sLMD As String

Set fs = CreateObject("Scripting.FileSystemObject")

Set f = fs.GetFile(ActiveWorkbook.Path & "\" & _       ActiveWorkbook.Name)

sLMD = Left(f.DateLastModified, 8)

ActiveSheet.PageSetup.LeftHeader = "Last Modified: " & sLMD End Sub

Independientemente de la macro que utilice, recuerde que la macro, una vez ejecutada, establecerá el encabezado izquierdo con la información deseada. Esa información no volverá a cambiar hasta que vuelva a ejecutar la macro. Por lo tanto, si siempre desea una fecha actualizada en el encabezado, debe ejecutar la macro periódicamente (tal vez justo antes de imprimir) o configurarla para que se ejecute cada vez que abra su documento.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (7764) se aplica a Microsoft Excel 2007, 2010 y 2013. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Viendo_la_ última_fecha_de_modificada [Visualización de la fecha de" última modificación "].