Seite 1 von 1
Angeklickte Zelle in Calc ändern
Verfasst: Do, 21.04.2005 20:52
von Frank Lauer
Hallo zusammen,
ich versuche ein Makro zu schreiben, das beim ancklicken einer Zelle prüft welche Zelle angeklickt wurde und die Zelle gegebenenfalls ändert.
Ich weiße, daß das über einen Listener funktionieren müsste, komme aber mit den Listeners so gar nicht zurrecht.
Hat jemand einenen Tip (am besten mit einem kleinen Beispielprogramm)?
Verfasst: Fr, 22.04.2005 19:09
von Frank Lauer
Hab die Lösung gefunden:
Global oListener As Object
Global oResentSelectedROw as Integer
Global oResentSelectedColnum as Integer
Global bBackjump as Boolean
Sub initializeListener
oListener = CreateUnoListener( "ClicListener_", "com.sun.star.view.XSelectionChangeListener" )
oDocument = ThisComponent
oDocument.getCurrentController.addSelectionChangeListener(oListener)
End Sub
Sub ClicListener_selectionChanged(oEvent)
Dim Selection As Object
Dim bTest as Boolean
oSelection = oEvent.source.selection
if oSelection.supportsService ("com.sun.star.sheet.SheetCell") then
bTest = True
If oSelection.CellAddress.row = oResentSelectedROw Then
If oSelection.CellAddress.Column = oResentSelectedColnum Then
bTest = false
If bBackjump Then
bBackjump = false
Exit Sub
endif
end if
end if
bBackjump = bTest
oResentSelectedROw = oSelection.CellAddress.row
oResentSelectedColnum = oSelection.CellAddress.Column
If oSelection.string = "X" Then
oSelection.string = ""
else
oSelection.string = "X"
end if
end if
End Sub
com.sun.star.view.XSelectionChangeListener
Verfasst: So, 25.03.2007 23:56
von Lupolupp
Hi,
hatte das gleiche Problem.
Dein Beitrag hat mir super weitergeholfen, vielen Dank!