Habe soeben mitbekommen, dass die Funktion bei jedem Öffnen der Datei ausgeführt wird.
Das solltest Du erklären.
Du must den Listener registrieren und erst dann erfolgt die Überwachung, sonst erfolgt nichts also auch kein automatisches Ausführen irgendeiner Funktion.
Hier gerne nochmals meine Variation zum Thema:
Für das konkrete Ereignis mußt Du zunächst einen solchen Listener registrieren (z.B. mitttels Autostartmakro beim Öffnen der Datei).
Folgender Code ist ein Beispiel, starte Sub addlistener um die Überwachung der Zellen des Blattes mit Index 0 zu starten und entferne den Listener beim Schliessen der DAtei mit Sub Remove_Listener. Dein auszuführender Code gehört in Sub MyApp_Modified(oEvent)
Code: Alles auswählen
Global oListener As Object
Global ocell as object
Sub Remove_Listener
On Error Resume Next
ocell.removemodifyListener(oListener)
End Sub
Sub addlistener
ocell=thiscomponent.sheets(0)
oListener = CreateUnoListener( "MyApp_", "com.sun.star.util.XModifyListener" )
ocell.addmodifylistener(olistener)
End Sub
Sub MyApp_Modified(oEvent)
'hier den Code den Du ausführen willst
End Sub
Im Speziellen ist es eleganter ddeen Listener nur für die eine von Dir gewünschte Zelle zu registrieren:
Code: Alles auswählen
Sub addlistener
ocell=thiscomponent.sheets(0).getcellrangebyname("F4")
oListener = CreateUnoListener( "MyApp_", "com.sun.star.util.XModifyListener" )
ocell.addmodifylistener(olistener)
End Sub
Gruß
Stephan