Hallo,
das ist etwas komplizierter, aber geht.
Wenn Du folgende Makros in dein Dokument hineinkopierst:
Code: Alles auswählen
Sub Insert_Time()
oSheet = ThisComponent.Sheets(0)
oCellRange = oSheet.getCellRangeByName("B2:F50")'aktiver Bereich in dem das Datum eingetragen werden soll
oSelection = ThisComponent.CurrentSelection
oview=thiscomponent.CurrentController
if oSelection.supportsService("com.sun.star.sheet.SheetCell") then
oCellsRangeAddress = oSelection.RangeAddress
if oCellRange.queryIntersection(oCellsRangeAddress).count = 1 then'Es gibt ocell in oCellrange
oSelection.Value = date(now())
endif
endif
End Sub
global myKeyHandler as object
global myMouseClickHandler as object
sub setup_handler
SetupMouseClickHandler
SetupKeyHandler
end sub
sub remove_handler
RemoveMouseClickHandler
RemoveKeyHandler
end sub
sub SetupMouseClickHandler
oController = thisComponent.currentController
myMouseClickHandler = CreateUnoListener("MouseClickHandler_","com.sun.star.awt.XMouseClickHandler")
oController.addMouseClickHandler(myMouseClickHandler)
end sub
sub RemoveMouseClickHandler
On Error Resume Next
oController = thisComponent.currentController
oController.removeMouseClickHandler(myMouseClickHandler)
On Error Goto 0
end sub
function MouseClickHandler_mousePressed(oMouseEvent) as boolean
MouseClickHandler_mousePressed = false
end function
Function MouseClickHandler_mouseReleased(oMouseEvent) As Boolean
On Error Goto err
if oMouseEvent.ClickCount = 2 then Insert_Time
err:
On Error Goto 0
MouseClickHandler_mouseReleased = False
End Function
Sub MouseClickHandler_disposing(oMouseEvent)
'
End Sub
sub SetupKeyHandler
oController = thisComponent.currentController
myKeyHandler = CreateUnoListener("KeyHandler_","com.sun.star.awt.XKeyHandler")
oController.addKeyHandler(myKeyHandler)
end sub
sub RemoveKeyHandler
oController = thisComponent.currentController
oController.removeKeyHandler(myKeyHandler)
end sub
Sub KeyHandler_disposing(oKeyEvent)
'
End Sub
function KeyHandler_keyPressed(oKeyEvent) as boolean
KeyHandler_keyPressed = false
if oKeyEvent.KeyCode=1280 then insert_time
end function
Function KeyHandler_KeyReleased(oKeyEvent) As Boolean
KeyHandler_KeyReleased = false
End Function
- und das Makro "setup_handler" unter Extras/Anpassen/Ereignisse dem Ereignis "Dokument öffen" zuordnest
- und das Makro "remove_handler" unter Extras/Anpassen/Ereignisse dem Ereignis "Dokument wird geschlossen" zuordnest
- und dann noch den Zellbereich z.B. "B2:F50" und die Tabellennummer z.B. "oSheet = ThisComponent.Sheets(0)" für Tabelle1, "oSheet = ThisComponent.Sheets(1)" für Tabelle2 im Makro "Insert_Time()" anpasst, dann kannst Du entweder per Doppelklick oder Enter das jetzige Datum eintragen.
Bitte nicht vergessen die entsprechenden Zellen auch als Datum zu formatieren.
Gruß R