Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


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+help@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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.