Angeklickte Zelle in Calc ändern

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Frank Lauer
***
Beiträge: 88
Registriert: Mi, 30.07.2003 18:06
Wohnort: Wiesloch

Angeklickte Zelle in Calc ändern

Beitrag 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)?
OOo 2.1 , Win XP
Frank Lauer
***
Beiträge: 88
Registriert: Mi, 30.07.2003 18:06
Wohnort: Wiesloch

Beitrag 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
OOo 2.1 , Win XP
Lupolupp
Beiträge: 6
Registriert: So, 25.03.2007 19:57

com.sun.star.view.XSelectionChangeListener

Beitrag von Lupolupp »

Hi,
hatte das gleiche Problem.

Dein Beitrag hat mir super weitergeholfen, vielen Dank!
Antworten