🍀 Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! 🍀
❤️ Nur noch wenige Stunden, um das Ziel für 2025 zu erreichen. Vielen lieben Dank! ❤️
>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig ihr Wissen teilen.<<
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen Dank!

❤️ HELFEN SIE JETZT >> << HELFEN SIE JETZT ❤️

🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗


Variabel aus Auswahlliste oder Formular-Steuerelement erstellen

WRITER hat alles, was Sie von einer modernen, voll ausgestatteten Textverarbeitung erwarten.
Antworten
Zwockel_
Beiträge: 2
Registriert: Mi 24. Dez 2025, 11:22

Variabel aus Auswahlliste oder Formular-Steuerelement erstellen

Beitrag von Zwockel_ » Di 30. Dez 2025, 11:14

Hallo liebe Community

Ausgangslage: Ich erstelle eine Briefvorlage, bei welcher der User zu Beginn verschiedene Angaben machen kann. Diese Angaben sind mit Variablen verknüpft und steuern im Brief die Ausgabe von bedingtem und verborgenem Text sowie von verborgenen Absätzen. Aktuell habe ich die Variablen über Ctrl+F2 im Reiter "Variablen" mittels "Variabel setzen" ins Dokument eingefügt. Der User kann diese mittels Doppelklick entsprechend manuell anpassen (bspw. "ja" oder "nein"). Dies funktioniert so weit so gut. Ich möchte die Usereingabe nun vereinfachen und Fehler durch Tippfehler vermeiden.

Meine Frage: Ist es möglich, den Wert einer Variable nicht völlig frei (manuelles Eingeben von Text), sondern aus einer vordefinierten Auswahl zu treffen? Ich habe mir hierzu bereits folgende beiden Lösungsansätze überlegt:

1. Verwendung einer Eingabeliste (Ctrl+F2 > Reiter "Funktionen" > Eingabeliste) mit vordefinierten möglichen Werten, welche vom Benutzer per Klick ausgewählt werden können. Problem: Soweit ich informiert bin, handelt es sich bei der Eingabeliste nicht um eine "Variabel", sondern lediglich um eine "Funktion". Es ist also keine Variable mit einem Wert vorhanden, welche für die Verwendung von bedingtem/verborgenem Text herangezogen werden kann.

2. Verwendung von Formular-Steuerelementen (Ansicht > Symbolleisten > Formular-Steuerelemente). Sinnvoll erscheint das "Listenfeld", wo man vordefinierte mögliche Auswahlmöglichkeiten begrenzen kann oder die Checkbox "Markierfeld" wo man eine Option an- oder abwählen kann. Problem: Leider ist mir nicht klar, ob durch diese Formular-Steuerelemente überhaupt eine Variabel erstellt wird. Und falls dies der Fall ist, ist mir nicht klar, wie ich den Variabelnamen des entsprechenden Formular-Steuerelements herausfinde, um damit bedingten/verborgenen Text anzusteuern

Eine Beispieldatei zum Ausprobieren habe ich angefügt. Ich bin für jeden Tipp oder Lösungsvorschlag dankbar :)

Liebe Grüsse
Zwockel
Dateianhänge
Beispieldatei.odt
(17.89 KiB) 766-mal heruntergeladen

F3K Total
* LO-Experte *
Beiträge: 2512
Registriert: So 10. Apr 2011, 10:10

Re: Variabel aus Auswahlliste oder Formular-Steuerelement erstellen

Beitrag von F3K Total » Di 30. Dez 2025, 16:05

Moin,
auch mir es nicht gelungen.
Deine Variante 2 kann man mit Hilfe eines Makros zum Laufen bringen:

Code: Alles auswählen

Sub put_formcontrol_string_to_userfield
    'gewähltes Land aus Listenfeld auslesen, Makro an Listenfeldereignis "Modifiziert" gebunden
    oform = thisComponent.drawpage.forms.getbyname("Formular")
    olstbox = oform.getbyname("Variable_x")'Kontrollfeld
    ostring = olstbox.CurrentValue
    'Benutzerfeld "Land" finden und ostring hineinschreiben
    otextfieldsenum=thisComponent.textfields.createenumeration
    while otextfieldsenum.hasmoreelements
        otextfield = otextfieldsenum.nextelement
        if otextfield.TextFieldMaster.name = "Land" then
            otextfield.TextFieldMaster.Content = ostring
            otextfield.update()
        endif
    wend
End Sub
Das Makro ist an das Ereignis "Modifiziert" des Listenfeldes gebunden.
Ich habe eine Benutzervariable "Land" angelegt die in deinem Bedingten Textfeld mit "Schweiz" verglichen wird.

Viel Erfolg
Gruß R

PS:
Damit das Makro laufen darf, stellst du unter Extras/Optionen/Openoffice oder LibreOffice/Sicherheit/Makrosicherheit mindestens die Stufe "Mittel" ein, dann wirst du beim Öffnen von Dokumenten gefragt, ob du Makros ausführen möchtest.
Dateianhänge
Beispieldatei.odt
(19.7 KiB) 405-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO


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