On 30.04.2012 12:03, Stefan Weigel wrote:
Hallo,

Am 30.04.2012 09:23, schrieb Edgar Kuchelmeister:

Am 29.04.2012 14:39, schrieb Günter Fritze:
Kann man einer Zelle in Calk ein Ereignis zuweisen?
Meines Wissens nicht, dafür verwendet man dann eher Formularfelder.
Doch, es gibt Listener.

Das folgende Beispiel enthält drei Prozeduren. Die erste Prozedur
"AddListener" fügt den beiden Zellen mit den Namen "Beginn" und
"Ende" im Blatt "Reise" jeweils einen Listener hinzu.

Wenn das geschehen ist, wird die Prozedur "Change_modified" immer
aufgerufen, wenn in einer der beiden Zellen mit den Namen "Beginn"
oder "Ende" eine Änderung vorgenommen wurde.

Die Prozedur "RemoveListener" entfernt die Listener wieder.

Gruß

Stefan

REM  *****  BASIC  *****

global oCell1
global oCell2
global oListener

Sub AddListener

        'add listener for cell oCell

        oDoc = ThisComponent
        oSheet = oDoc.Sheets().getByName("Reise")
        oCell1 = oSheet.getCellRangeByName("Beginn")
        oCell2 = oSheet.getCellRangeByName("Ende")

        oListener = CreateUnoListener( "Change_",
"com.sun.star.util.XModifyListener" )

        oCell1.addModifyListener( oListener )
        oCell2.addModifyListener( oListener )
        
End Sub

Sub RemoveListener
        oCell1.removeModifyListener( oListener )
        oCell2.removeModifyListener( oListener )
End Sub

Sub Change_modified( aEvent )
        OOoReiseTage
End Sub


Danke!
Das mit dem Listener ist es.
MfG
Günter


--
Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org
Probleme? 
http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert

Antwort per Email an