🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Formularfeld mit Makro sichtbar/unsichtbar schalten - gelöst

Alles zur Programmierung im LibreOffice.
Antworten
Rupp
Beiträge: 2
Registriert: Mi 31. Mär 2021, 02:49

Formularfeld mit Makro sichtbar/unsichtbar schalten - gelöst

Beitrag von Rupp » Mi 31. Mär 2021, 11:24

Guten Morgen :-)

ich versuche jetzt schon seit gefühlten Ewigkeiten in Calc Formularfelder per Makro unsichtbar, bzw. sichtbar zu machen.
Ich habe mehrere Tabellenblätter, die jeweils die vier gleichen Datums- und Uhrzeit-Felder haben. In jedem Sheet heißen die Felder immer gleich. Das Formular heißt auch in allen Sheets immer gleich: "Formular".

Das Makro darf immer nur im gerade aktiven Sheet die diese 4 bestimmten Felder sichtbar/unsichtbar schalten. Auf allen anderen Sheets muss es bleiben wie es ist.

Ich habe es aber bisher nicht einmal auf einem einzigen Sheet auch nur ein Feld sichtbar, bew. unsichtbar zu machen. Alles was ich im Netz gefunden habe, scheint sich auf Makros für Base zu beziehen.

Versucht habe ich bisher solche Sachen wie:

Sub Visible
oDoc = thisComponent
oController = oDoc.getCurrentController()
'( oform=odoc.drawpage.forms.getbyindex(0) )
oform=odoc.drawpage.forms.getbyname("Formular")
oKontroll = oForm.getByName("Schaltfläche 1")
oKView = oController.getControl(oKontroll)
oKView.visible = false
end sub

Als Fehlermeldung bekomme ich dann "Eigenschaft oder Methode nicht gefunden: drawpage."

Wer weiß wie so was geht? Bin da für jede Hilfe sehr dankbar :-)

Beste Grüße

Rupp
Zuletzt geändert von Rupp am Mi 31. Mär 2021, 12:14, insgesamt 1-mal geändert.

nitja
Beiträge: 190
Registriert: Di 20. Okt 2020, 15:55

Re: Formularfeld mit Makro sichtbar/unsichtbar schalten

Beitrag von nitja » Mi 31. Mär 2021, 12:01

drawpage gehört zum sheet, nicht zum document, also bei nur einem sheet:
thisComponent.sheets(0).drawpage
LO 24.2.0.3 (X86_64) auf Linux 6.6.26-1-MANJARO, gnome 45.4, (gtk 4) gtk3 für LO

Rupp
Beiträge: 2
Registriert: Mi 31. Mär 2021, 02:49

Re: Formularfeld mit Makro sichtbar/unsichtbar schalten - gelöst

Beitrag von Rupp » Mi 31. Mär 2021, 12:14

Dankeschön für die Anregung :-)

Ich habe es jetzt mit Hilfe von Stephan ( www.oooforum.de ) gut lösen können.

Folgender Code funktioniert pefekt:

Code: Alles auswählen

Sub Visible()
	oDoc = ThisComponent
	oActiveSheet = oDoc.currentController.ActiveSheet
	oKontroll = oActiveSheet.Drawpage.Forms.getByName("Formular").getByName("Datumsfeld 1")
	oKontroll.enableVisible = False
End Sub


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten