Seite 1 von 1
Writer-Formular (Hilfe)
Verfasst: Mi 23. Okt 2013, 18:16
von blackravion
Guten Abend Community,
ich bräuchte eure Hilfe, da ich nach mehreren Stunden suchen und probieren noch keine Lösung für mein Problem gefunden habe.
Ich bin kein LibreOffice-Profi, erstelle jedoch gerade ein Formular mit der Suite. Ich möchte jetzt mehrere Optionsfelder abhänig von einem "Häckchen-Feld" machen.
Also wenn ich einen Haken im Feld "Termin" setzen, sollen die zwei darunterliegenden Optionsfelder auswählbar sein, ebenso ein Datumsfeld. Ist kein Haken gesetzt
sollen die Felder grau bleiben, bzw. nicht ausfüllbar.
Wie bekomme ich das hin?
Dankeschön vorab
Gruß
Re: Writer-Formular (Hilfe)
Verfasst: Mi 23. Okt 2013, 18:46
von F3K Total
Hi,
kurze Frage vorab: Was hast Du mit dem Formular vor?
Eine Lösung wären kurze Makros, allein, wenn Du das Formular als .pdf exportieren wollen solltest, funktioniert es dann eben nicht mehr, da die Makros nicht exportiert werden.
Und eine zweite Frage, hängt das Formular an einer Datenbank?
Gruß R
Re: Writer-Formular (Hilfe)
Verfasst: Mi 23. Okt 2013, 18:57
von blackravion
Hallo,
vielen Dank für deine Antwort.
Das Formular ist zur Abstimmung von Terminen mit Lieferanten gedacht.
Gedacht habe ich mir die Felder im LibreOffice zu Füllen und dann umzuspeichern in PDF, oder direkt
eine ausfüllbare PDF.
Gruß
Re: Writer-Formular (Hilfe)
Verfasst: Mi 23. Okt 2013, 19:00
von F3K Total
Für Variante 1 mache ich gerade eine Beispieldatei.
Gruß R
Re: Writer-Formular (Hilfe)
Verfasst: Mi 23. Okt 2013, 20:16
von F3K Total
So,
hier nun die Beispieldatei. Es gibt zwei Makros.
Zum Aktivieren/Deaktivieren
Code: Alles auswählen
Sub s_enable_controls(event)
ochkTermin = event.source.model
oform = ochkTermin.parent
odat1 = oForm.getbyname("Dat1")
oFormEnumeration = oform.createEnumeration
if ochkTermin.State = 1 then
odat1.Enabled = true
while oFormEnumeration.hasmoreelements
oControl = oFormEnumeration.nextelement
if oControl.supportsservice("com.sun.star.awt.UnoControlRadioButtonModel") then
if oControl.name = "RadioGroup1" then oControl.Enabled = true
endif
wend
else
odat1.Enabled = false
while oFormEnumeration.hasmoreelements
oControl = oFormEnumeration.nextelement
if oControl.supportsservice("com.sun.star.awt.UnoControlRadioButtonModel") then
if oControl.name = "RadioGroup1" then oControl.Enabled = false
endif
wend
endif
End Sub
Zum Einblenden/Ausblenden
Code: Alles auswählen
Sub s_show_hide_controls(event)
ochkTermin = event.source.model
oform = ochkTermin.parent
odat1 = oForm.getbyname("Dat2")
oFormEnumeration = oform.createEnumeration
if ochkTermin.State = 1 then
odat1.EnableVisible = true
while oFormEnumeration.hasmoreelements
oControl = oFormEnumeration.nextelement
if oControl.supportsservice("com.sun.star.awt.UnoControlRadioButtonModel") then
if oControl.name = "RadioGroup2" then oControl.EnableVisible = true
endif
wend
else
odat1.EnableVisible = false
while oFormEnumeration.hasmoreelements
oControl = oFormEnumeration.nextelement
if oControl.supportsservice("com.sun.star.awt.UnoControlRadioButtonModel") then
if oControl.name = "RadioGroup2" then oControl.EnableVisible = false
endif
wend
endif
End Sub
Damit sie laufen dürfen, stellst du unter Extras/Optionen/Openoffice.org oder LibreOffice.org/Sicherheit/Makrosicherheit mindestens die Stufe "Mittel" ein, so wirst du beim Öffnen von Dokumenten gefragt, ob du Makros ausführen lassen möchtest.
Viel Erfolg,
Gruß R
Re: Writer-Formular (Hilfe)
Verfasst: Mi 23. Okt 2013, 23:03
von blackravion
Perfekt!
Super, vielen Dank für die Rasche und klasse Arbeit, funktioniert einwandfrei
Gruß