Routine durch Mausklick beenden

Antwort erstellen


Um automatische Eingaben zu unterbinden, musst du die nachfolgende Aufgabe lösen.

BBCode ist eingeschaltet
[img] ist ausgeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Routine durch Mausklick beenden

Re: Routine durch Mausklick beenden

von erikafuchs » Fr, 25.05.2018 18:42

OK, ich habe es hinbekommen. Vielleicht nicht elegant:

Code: Alles auswählen

Sub start (woist)
	if  woist.celladdress.column=15 and woist.celladdress.row=1 then main
	if  woist.celladdress.column=15 and woist.celladdress.row=2 then flag=1
end sub

Sub Main
	flag=0
	oDoc=ThisComponent
	oSheet=oDoc.sheets.getByIndex(0)
	do while flag=0
		aus
		wait(500)
		Achtung
		wait(500)
	loop
End Sub

Routine durch Mausklick beenden

von erikafuchs » Fr, 25.05.2018 18:20

Hallo Leute,
ich steh mal wieder auf dem Schlauch.
Ich bastele eine Ampelsteuerung innerhalb eines Tabellenblattes. (Bisher blinken 4 Ampeln 10 Mal.) Durch Klick auf eine Zelle (15,1) startet die Routine und bei Klick auf eine andere (15,2) soll sie stoppen. Wie stoppt man aber eine laufende Routine? geht das überhaupt? Hier ein Teil des Codes:

Code: Alles auswählen

dim oSheet as object

Sub start (woist)
	if  woist.celladdress.column=15 and woist.celladdress.row=1 then main
	if  woist.celladdress.column=15 and woist.celladdress.row=2 then stopp
end sub

Sub Main
	oSheet=ThisComponent.sheets.getByIndex(0)
	for n=0 to 10
		aus
		wait(500)
		Achtung
		wait(500)
	next
End Sub

sub Achtung
	oSheet.getCellRangeByName("e5").CellBackColor = RGB(255,255,0)
	oSheet.getCellRangeByName("L6").CellBackColor = RGB(255,255,0)
	oSheet.getCellRangeByName("d12").CellBackColor = RGB(255,255,0)
	oSheet.getCellRangeByName("k13").CellBackColor = RGB(255,255,0)	
end sub

Sub Aus
	oSheet.getCellRangeByName("e4:e6").CellBackColor = RGB(0,0,0)
	oSheet.getCellRangeByName("k6:m6").CellBackColor = RGB(0,0,0)
	oSheet.getCellRangeByName("c12:e12").CellBackColor = RGB(0,0,0)
	oSheet.getCellRangeByName("k12:k14").CellBackColor = RGB(0,0,0)	
end sub
Pit

Nach oben