Makro und ModifyListener

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Makro und ModifyListener

Re: Makro und ModifyListener

von Ironzwerg » Sa, 09.10.2010 18:35

Freut mich, dass ich dir helfen konnte.
Wünsche dir noch viel Erfolg.

Gruß

Dennis

Re: Makro und ModifyListener

von Corax » Sa, 09.10.2010 10:39

Hallo Ironzwerg,

vielen Dank nochmals für deine Hilfe.
Das mit dem Anpassen des Tabellennamens oder der Zelle war nicht das Problem.
Ich hätte nur, wie ich nun von dir weis, den ersten Teil des Codes nach der Variablendeklaration in eine Funktion , sprich Sub schreiben müssen.
Hier nun der komplette Code:

Code: Alles auswählen

dim oDoc as Object
dim oSheet as Object
dim oCell as Object
        
Sub Main()
        oDoc = thisComponent.getCurrentController 
        oSheet = oDoc.getModel().getSheets().getByName("Tabelle1")
        oCell = oSheet.getCellRangeByName("E9")
 
        Listener = createUnoListener("Modified_", "com.sun.star.util.XModifyListener")
        oCell.addModifyListener(Listener)
End Sub
 
Sub Modified_modified(oEvent as Object)
        msgbox "Hallo"
End Sub
Wird der Inhalt der Zelle E9 in Tabelle1 verändert öffnet sich die MsgBox mit "Hallo"

Ich habe den Code nun in mein Dokument übernommen, Tabellennamen und Zelle angepasst und anstelle der MsgBox rufe ich ein anderes Makro auf.
Damit ich den Listener (Makro Main) nicht immer nach dem öffnen des Dokumentes manuell starten muss, habe ich ihn unter Extras Anpassen dem Ereigniss Dokument öffnen zugewiesen.
Alles funktioniert jetzt so wie ich es mir vorgestellt habe. :D

Gruß

Corax

Re: Makro und ModifyListener

von Ironzwerg » Fr, 08.10.2010 10:06

Ich habe dir auf deine Mail geantwortet.
Jetzt weiß ich auch, warum es nicht funktioniert.
Du willst was mit B1 machen, im Code habe ich aber die Zelle E9 genommen.

Und vergiss die Variablendeklaration nicht ;)

Code: Alles auswählen

dim oDoc as Object
dim oSheet as Object
dim oCell as Object
Sonst läuft alles, ansonsten melde dich einfach.
Das können wir auch gerne in diesem Fred besprechen, damit später auch andere evtl davon profitieren können.

Gruß

Ironzwerg

Nach oben