BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 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: 123
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.19-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 nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten