Schaltfläche bedingt sichtbar und nutzbar

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

Moderator: Moderatoren

AlinaGeier
**
Beiträge: 21
Registriert: Mo, 01.02.2021 14:10

Re: Schaltfläche bedingt sichtbar und nutzbar

Beitrag von AlinaGeier »

Vielen, vielen Dank! Jetzt funktioniert alles so, wie ich es mir vorgestellt habe^^
AlinaGeier
**
Beiträge: 21
Registriert: Mo, 01.02.2021 14:10

Re: Schaltfläche bedingt sichtbar und nutzbar

Beitrag von AlinaGeier »

Hallo,
entschuldigt bitte, dass ich nochmals nerven muss:D Ich habe noch eine kurze Frage zu diesem Thema:
Das funktioniert jetzt super, zuerst das alte Makro über Tabellen-Ereignisse--> Inhalt geändert hinzufügen, dann das Makro unter Makros verwalten so umschreiben, wie in deiner Beschreibung und dann unter Tabellen-Ereignisse--> Auswahl geändert hinzufügen.
Allerdings habe ich jetzt mehrere solcher Schaltflächen in meiner Tabelle, die alle ein ziemlich ähnliches Makro haben und die ebenfalls nach demselben Prinzip verschwinden sollen, wenn ein bestimmter Text in einer Zelle steht. Ich weiß nur nicht, wie ich die einzelnen Makros im Tabellen-Ereignis als eines zusammenfassen soll. Wisst ihr, wie ich ein Makro schreiben kann, dass ich dann einfügen kann, in dem die ganzen anderen sind? Es sind lediglich der Name des Makros und einzelne Zellen anders, sonst sind die Makros alle gleich.
LG, Alina
AlinaGeier
**
Beiträge: 21
Registriert: Mo, 01.02.2021 14:10

Re: Schaltfläche bedingt sichtbar und nutzbar

Beitrag von AlinaGeier »

Noch ein Unterschied zwischen den Makros: Der Text, auf den geprüft wird, lautet nur bei 1. Makro "richtige Antwort", bei den anderen nur "X".
Oder sollte ich für diese Frage vielleicht gleich eine ganz neue Frage erstellen?
LG, Alina
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Schaltfläche bedingt sichtbar und nutzbar

Beitrag von Stephan »

Du kannst im Makro beliebig vioele Bedinungen für beliebige SChaltflächen/Zellen hintereinander abfragen/einstellen:

Code: Alles auswählen

Sub Check_more()
    oSheet = thiscomponent.sheets.getbyname("Tabelle1")
    
    With oSheet.Drawpage.getForms.getByIndex(0)
                        
	    If .hasByName("Schaltfläche 1") = True AND oSheet.getcellrangebyname("A1").String = "richtige Antwort" then
		    	.getByName("Schaltfläche 1").EnableVisible = "False"
		    ElseIf .hasByName("Schaltfläche 1") = True AND oSheet.getcellrangebyname("A1").String <> "richtige Antwort" then
		    	.getByName("Schaltfläche 1").EnableVisible = "True"                             
	    End If
	    
	    If .hasByName("Schaltfläche 2") = True AND oSheet.getcellrangebyname("A2").String = "X" then
		    	.getByName("Schaltfläche 2").EnableVisible = "False"
		    ElseIf .hasByName("Schaltfläche 2") = True AND oSheet.getcellrangebyname("A2").String <> "X" then
		    	.getByName("Schaltfläche 2").EnableVisible = "True"                             
	    End If
	    
	    If .hasByName("Schaltfläche 123") = True AND oSheet.getcellrangebyname("E110").String = "Bla" then
		    	.getByName("Schaltfläche 123").EnableVisible = "False"
		    ElseIf .hasByName("Schaltfläche 123") = True AND oSheet.getcellrangebyname("E110").String <> "Bla" then
		    	.getByName("Schaltfläche 123").EnableVisible = "True"                             
	    End If
	    
	    'usw. 
	    
    End With
End Sub
Oder sollte ich für diese Frage vielleicht gleich eine ganz neue Frage erstellen?
Ja, eigentlich schon. Im Zweifel(*) ist das jedenfalls zu bevorzugen.


(*)Gewünscht ist das alte Threads nicht verlängert werden sollen, der Zweifel ist nur was ein alter Thread ist bzw. ob ein Thread der nur wenige Tage alt ist, schon als alter Thread gilt.


Gruß
Stephan
AlinaGeier
**
Beiträge: 21
Registriert: Mo, 01.02.2021 14:10

Re: Schaltfläche bedingt sichtbar und nutzbar

Beitrag von AlinaGeier »

Vielen Dank! Aber jetzt ist es so, dass die Schaltflächen erst verschwinden, (nachdem die Bedingung erfüllt ist und) wenn man in irgendeiner Zelle den Wert manuell verändert, also entweder herauslöscht oder etwas hineinschreibt. Gibt es auch hierfür wieder eine Lösung? Das wäre echt super!
Liebe Grüße, Alina
Antworten