Fecha y Hora en Excel

Hola amigo. Necesito que todos los documentos *.xls almacenados en disco, tanto los que están como los nuevos que se vayan creando, impriman por defecto (SIEMPRE) la fecha y la hora.
He tratado con una macro que introduzca la fecha y hora en el pie de página pero no logro asignar esta macro al evento de apertura de una hoja.
Por otra parte, quiero buscar otra forma de hacerlo, puesto que si la hoja que está creando el usuario ya tiene un pie de página, no quiero dañarlo.
En conclusión, que cualquier documento de excel que salga impreso lleve siempre fecha y hora. ¿Una marca de agua? Pues tampoco me funcionó.
Te agradezco de antemano tu atención.

1 respuesta

Respuesta
1
Para lo que quieres veo dos alternativas (seguro que hay más), la primera es usar el evento BeforePrint que se ejecuta ANTES de imprimir y también con solo llamar a la vista preliminar, en este evento pondríamos el código para poner la fecha y la hora como en el ejemplo siguiente...
Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet.PageSetup
.RightFooter = Format(Date, "dd-mmm-yyyy") & " - " & Format(Now, "HH:mm")
End With
End Sub
Este método te OBLIGA a tener este código SIEMPRE en TODOS tus libros, lo cual se logra metiéndolo en la plantilla de tus nuevos libros, pero para los libros existentes habría que hacerlo a mano...
La segunda opción es crear una macro que imprima de forma personalizada, es decir, un botón igual que el de la impresión solo que ANTES, agregaríamos un código similar al anterior, esta macro funcionaria con todos los libros sean nuevos o existente, pero solo hay que tener la precaución de imprimir con esta macro y con el botón o menú que incorpora Excel, una primera aproximación de dicha macro seria...
Public Sub Imprimir_con_fecha()
Dim strActual As String
With ActiveSheet.PageSetup
strActual = .RightFooter
If strActual <> "" Then
strActual = strActual & vbCrLf
End If
strActual = strActual & Format(Date, "dd-mmm-yyyy") & " - " & Format(Now, "HH:mm")
.RightFooter = strActual
End With
ActiveWindow.SelectedSheets.PrintOut
End Sub
El inconveniente de esta macro, es que si imprimes dos veces seguidas la misma hoja, te duplicara la fecha y la hora, pero resolver esto te queda de tarea.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas