Makro einmal starten, wenn eine andere Calc-Tabellenseite gewählt wird

Sehr geehrte Community

Habe versucht, mit 'macOS Sierra 10.12.1 ; LO 5.2.4.2

Sub WorksheetActivationListenerOn
    CurrentWorksheetName = ""
    oListeningController = ThisComponent.CurrentController
    oActiveSheetListener = createUnoListener("ACTIVESHEET_", _
                              "com.sun.star.beans.XPropertyChangeListener")
    oListeningController.addPropertyChangeListener("ActiveSheet", oActiveSheetListener)
End Sub

Sub ACTIVESHEET_propertyChange(oEvent)
    CurrentWorksheetName = ThisComponent.currentcontroller.activesheet.name
       if CurrentWorksheetName <> "HT" then
          print " ACTIVESHEET_propertyChange: ", CurrentWorksheetName
          drawXYlinEqD() '_mein Makro_
       endIf
End Sub

das Problem zu lösen: Der Listener_stottert_, er ruft je nach Tabelleninhalt das Makro x-mal auf.
Das Basic-Makro liest einige Zeilen des aktiven Seite und schreibt Zahlen in eine andere Tabellenseite. Daraus werden in einem XY-Diagram senkrechte Linien gezeichnet.

Kann mir jemand helfen?
Danke im voraus

mit freundlichen Grüssen
Wolfgang

Hallo Wolfgang,

hmm, ohne detaillierte Analysen zu fahren:

Du erzeugst einen internen Listener, dieser reagiert auf das Event "PropertyChange". Soweit ok.

Nun starten diverse Zugriffe auf dein Dokument - und lösen den Listener immer wieder aus...

Wenn das Makro eh nur einmal laufen soll - dann entferne den Listener sobald Du den korrekten Einstiegpunkt gefunden hast !

Dann sollte das "Stottern" aufhören.

Viele Grüße

Thomas