Libre Office

Schaltfläche per Makro deaktiveren

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
cynep8
Beiträge: 26
Registriert: Mi 15. Mär 2017, 21:06

Schaltfläche per Makro deaktiveren

Beitrag von cynep8 » Di 3. Nov 2020, 19:01

Liebes Forum,
ich habe eine Calc Vorlage in der ein bestimmter Button nur einmal gedrückt werden darf. Nach dem auslösen soll er deaktiviert werden. Bei meiner Suche habe ich auch etwas passendes gefunden http://www.oooforum.de/viewtopic.php?t=15672.
Es will aber nicht bei mir funktionieren und ich weiß nicht woran es liegt. Ich bekomme immer eine Laufzeitfehler Meldung. Habe eine paar Sachen versucht es hat aber nichts funktioniert, meine VBA Kenntnisse sind aber auch sehr bescheiden.

Code: Alles auswählen

' erste drawpage (normal auf 1 Blatt) 
' Formular normalerweise "Standard" benannt
oForm = ThisComponent.DrawPages.getByIndex(0).getForms().getByName( "Standard" )

Code: Alles auswählen

oForm.getByName( "PushButton" ).Enabled = FALSE
' 5 Sekunden warten
wait 5000
oForm.getByName( "PushButton" ).Enabled = TRUE 
Vielen Dank schon einmal im voraus für euere Antworten!


Ps: Die Namen "Standard" und "PushButton" habe ich an meine Tabelle und Schaltfläche angepasst.

mikele
* LO-Experte *
Beiträge: 2055
Registriert: Mo 1. Aug 2011, 20:51

Re: Schaltfläche per Makro deaktiveren

Beitrag von mikele » Di 3. Nov 2020, 20:20

Hallo,
Ich bekomme immer eine Laufzeitfehler Meldung.
An welcher Stelle?
Dein gepostetes Makro funktioniert bei mir problemlos.
Dateianhänge
test_button.ods
(9.18 KiB) 133-mal heruntergeladen
Gruß,
mikele

cynep8
Beiträge: 26
Registriert: Mi 15. Mär 2017, 21:06

Re: Schaltfläche per Makro deaktiveren

Beitrag von cynep8 » Mi 4. Nov 2020, 17:27

Ich Dödel :oops: bin bei

Code: Alles auswählen

getByName( "Standard" )
immer davon ausgegangen das der Tabellen Name damit gemeint war und nicht der vom Formular. Bin aber auch erst dadurch das bei dir "Formular" drin stand drauf gekommen.
Manchmal steht man einfach auf dem Schlauch.

Vielen Dank!!!

Open Office
Antworten