[gelöst] Formularfeld in Calc mit Makro sichtbar/unsichtbar schalten

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst] Formularfeld in Calc mit Makro sichtbar/unsichtbar schalten

Re: Formularfeld mit Makro sichtbar/unsichtbar schalten

von Rupp » Mi, 31.03.2021 12:06

Dankeschön Stephan,

das war jetzt aber wirklich eine schnelle und sofort hilfreiche Antwort - wenn man weiß "wie", ist es also ganz einfach!

Habe das jetzt so abgewandelt, dass es immer auf das gerade aktive Sheet angewandt wird:

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
Beste Grüße

Rupprecht

Re: Formularfeld mit Makro sichtbar/unsichtbar schalten

von Stephan » Mi, 31.03.2021 11:47

schaust Du z.B. hier:
viewtopic.php?f=18&t=66049&p=257347#p257347

und wendest das sinngemäß an, dann müsste, für die Tabelle mit Index 0, das hier rauskommen (nicht getestet):

Code: Alles auswählen

Sub Visible()
	tc0 = ThisComponent.Sheets(0)
	oKontroll = tc0.Drawpage.Forms.getByName("Formular").getByName("Schaltfläche 1")
	oKontroll.enableVisible = False
End Sub

Warum ist das so?
Im Unterschied zu anderen Dokumenttypen haben Tabellendokumente in OO/LO immer genau eine drawpage pro Tabellenblatt. Objektbezug ist also nicht das Dokumentobjekt, sondern das jeweilige Tabellenblatt.


Gruß
Stephan

[gelöst] Formularfeld in Calc mit Makro sichtbar/unsichtbar schalten

von Rupp » Mi, 31.03.2021 11:28

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.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

Nach oben