ein endlos Makro beenden?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

ein endlos Makro beenden?

Beitrag von clag »

Hallo Kenner und Könner,

nachdem ein automatischer Start eines endlos Makro beim laden der Datei klappt,
stellt sich für mich nun die Frage wie kann man das "Endlos_Makro" per Befehl stoppen?

Uns zwar weil sich beim speichern/beenden dieser Datei Probleme ergeben, wenn das Makro im 1 Sekundentakt läuft,
denn nach dem Speichern wird gleich wieder ein Wert geschrieben und die Datei kann nur über "Änderung verwerfen" beendet werden.
Das aber führt hier zu einem Problem, OOo möchte danach eine nicht existierende "Datei wiederherstellen" .....

Nun würde ich gern mit der Aktion "Datei beenden" das auto-gestartete "Endlos_Makro" unterbrechen, so dezent wie möglich.

da wäre erstmal das manuelle "ctrl+shift+Q" aber das ist doch eher wenig dezent :lol:

vieleicht eine globale Variable die bei Start auf "run" gesetzt und vom "Endlos_Makro" abgefragt wird (macht das Makro aber länger)
und beim beenden der Datei wird durch ein weiteres Makro diese Variable auf "stop" gesetzt!?

oder was könnte man sonst noch anstellen?
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: ein endlos Makro beenden?

Beitrag von Karolus »

Hallo
Bau in der "Endlosschleife" eine Abfrage auf einen Wert ein ...
Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: ein endlos Makro beenden?

Beitrag von clag »

Hallo Karolus

danke für den Tipp, ist aber noch nicht ganz das an was ich gedacht habe,
da der "HilfsWert" Gefahr läuft manuell verändert zu werden und das Makro somit möglicherweise versehentlich unbemerkt gestoppt wird.
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: ein endlos Makro beenden?

Beitrag von clag »

Hallo Leutz,

habe es nun so gelöst

Code: Alles auswählen

REM  *****  BASIC  *****
public makrocheck as integer

sub refresh 'mit fixen refresh Wert
	dim tickDoc as object
	dim tickSheet as object
	makrocheck = 13
	tickDoc = thisComponent
	tickSheet = tickDoc.Sheets().getByName("Tabelle1")
	mytimeCell=ticksheet.getCellRangeByName("$B$1")
	mytimeCell.string = TIME
endless:
	if makrocheck = 1 then exit sub
	wait 1000 ' 1000 = 1 Sekunde
	mytimeCell.string = TIME
goto endless
End Sub


sub stop_refresh
	makrocheck = 1
End Sub

wobei "refresh" mit dem Ereignis "Dokument öffnen"
und "stop refresh" mit "Dokument schließen" verknüpft sind
das funktioniert jetzt ganz gut :D
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Antworten