Seite 1 von 1
Re: Makro und ModifyListener
Verfasst: Fr, 08.10.2010 10:06
von Ironzwerg
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
Re: Makro und ModifyListener
Verfasst: Sa, 09.10.2010 10:39
von Corax
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.
Gruß
Corax
Re: Makro und ModifyListener
Verfasst: Sa, 09.10.2010 18:35
von Ironzwerg
Freut mich, dass ich dir helfen konnte.
Wünsche dir noch viel Erfolg.
Gruß
Dennis