Insertar la hora actual en OpenOffice Calc
Insertar la hora actual en una celda es sencillo.
Pero no deberemos utilizar la función AHORA(), pues cada vez que se recalcule la hoja se actualizará.
Hacer que un botón inserte la hora actual en la celda seleccionada parece difícil.
Veamos como resolver fácilmente la situación con una macro que inserte la hora actual en la celda activa tras pulsar un botón.
- Muestra la barra de herramientas de controles de formulario desde el menú Ver > Barras de herramientas > Campos de control de formulario
- Añade un botón de formulario a tu hoja de cálculo; para ello selecciona la herramienta Botón ; traza un rectángulo imaginario sobre la hoja para dibujar el botón.
- Desde el menú contextual del botón (clic con el botón secundario del ratón), selecciona Campo de control.
- Cambia su Título por el que consideres más adecuado
- Desde la pestaña Acontecimientos asigna la siguiente macro al evento Botón del ratón soltado.
Option Explicit<br /><br />Sub InsertarHoraActual()<br />Dim oHojaActual As Object<br />Dim oCelda As Object<br /><br /> oCelda = ThisComponent.CurrentController.Selection<br /> If oCelda.ImplementationName = "ScCellObj" Then<br /> oCelda.setValue(CDbl(Now))<br /> End If<br /> <br />End Sub
Macro obtenida del Foro Oficial en Español de Apache OpenOffice. Gracias Mauricio.
Editado 21/02/16: El valor introducido en la celda no tiene el formato fecha/hora. Deberás asignar el formato adecuado a la celda o ampliar la macro para que lo haga por tí :)
4 comentarios
Te recomiendo que pongas que la celda tiene que tener el formato fecha para los que no lo sabemos, porque he tendido que ir al hilo en el foro para saberlo. Gracias.
Hola Juan Luis
Este artículo se escribió en 2012. Seguramente con las actualizaciones algo ha cambiado, y ahora, al insertar el nuevo valor, no toma el formato fecha por defecto.
Gracias por el aviso.
como puedo inserta con teclas de atajo la fecha y la hora.
Como Registrando data e a hora de alteração no OpenOffice vba automático. Na célula desejada.