das kann - mit der von Dir ausgewählten Variablenfunktion "Variable setzen/Variable anzeigen" - nicht funktionieren (hast Du ja gemerkt). Verwende stattdessen den Feldtyp "Benutzerfeld"!
Sowohl Rocko als auch ich haben in den von uns zuvor schon eingestellten Beispieldokumenten diese Vorgehensweise (Feldtyp Benutzerfeld nicht Variable setzen/anzeigen) angewendet!
Lösche in Deinem Globaldokument zunächst das Eingabefeld und - falls Du sie in das Dokument eingefügt hast - die zugehörige Variable.
Lege über den Dialog "Feldbefehle einfügen" > Register "Variablen" > "Feldttyp" > "Benutzerfeld" ein neues Benutzerfeld an.
Markiere dann unter "Feldtyp" den Eintrag "Eingabefeld" und ordne es so dem zuvor angelegten Benutzerfeld zu. Klicke auf 'einfügen', so dass es in das Globaldokument eingefügt wird und Du es zum Ändern wieder aufrufen kannst.
Definiere zu jedem Bereich (im Globaldokument) die Bedingungen - falls nicht mehr/nicht zutreffend vorhanden. Wie das geht, hast Du ja schon heraus gefunden. Achte auf die richtige Schreibweise des von Dir angelegten Benutzerfeldes. Für die Formulierung von Bedingungen sind unter anderem folgenden Operatoren zulässig: "=="/"EQ", "!="/NEQ), "!"/"NOT". Da Du ja Programmiererfahrung hast - wie Du schreibst - dürfte das nicht unbekannt sein ...
(Wenn Du das wie beschrieben machst, funktioniert es. Ich setze diese Funktionen seit Jahren beruflich und privat auch in Kombination mit komplexen Programmabläufen ohne Schwierigkeiten ein.)
Es läuft jetzt, zumindest in der Demo. Erster Fehler: Ich hatte wie in meiner gewohnten Programmierumgebung = statt == benutzt. In m.E. etwas unlogischer Konsequenz wird die Bedingung wohl im Zweifelsfall von OO zu "true" ausgewertet und damit das Ausblenden bewirkt.
Und dann erfordert die Verwendung von verknüpften Dateien offenbar das von NWi im letzten Beitrag erläuterte Verfahren mit dem "Benutzerfeld". Vielen Dank für den Hinweis, da wäre ich wohl auch mittelfristig nicht drauf gekommen. Bei Bereichen innerhalb einer odt-Datei geht es auch über die Variable.
Wichtig dabei noch: Wenn man strings als Wert nimmt, dann muß das Format auf "Text" gestellt werden, die Vorgabe "Standard" führt nicht zum gewünschten Ergebnis.
Falls mal wieder jemand vor dem Problem steht: Demoprojekt ist im Anhang.
Hab's jetzt in meinem Testprojekt auch noch einmal umgestellt und es läuft dort auch mit der Variablen. Wenn man in dem Themenbereich tief genug drinsteckt, ist das Fehlersuchen immer einfacher. Beim Einstieg trifft man hier doch auf eine recht wilde Zusammenstellung von Eingabemöglichkeiten. In Verbindung mit dem m.E. nicht ganz schlüssigen Verhalten von OO bei Fehleingaben kann das doch zu gewissem Haareraufen führen. Danke für die Hilfe, das ganze funktioniert jetzt optimal, so wie ich es mir vorgestellt hatte.
um Missverständnissen ("Variable"/"Benutzerfeld") vorzubeugen, sei zusätzlich ein erläuternder Hinweis erlaubt:
Rocko hat geschrieben:Damit aber kein Irrtum weitergegeben wird: Ob die Variable über den Feldbefehl "Benutzerfeld" oder "Variable setzen" eingefügt wird, hat auch im Globaldokument dieselbe Wirkung.
Ja grundsätzlich, aber - nicht zuletzt in Kombination mit Eingabefeldern - mit Bedacht anwenden:
Variable setzen:
Definiert eine Variable und ihren Wert.
-
Variable anzeigen:
Fügt den aktuellen Wert der Variable ein.
Der Wert einer Variable in einem Eingabefeld gilt erst ab der Stelle im Dokument, an der das Feld eingefügt ist. (Werte von Benutzerfeldern werden jedoch global geändert.)
-
Benutzerfeld:
Fügt eine benutzerdefinierte Globalvariable ein. Das Benutzerfeld wird verwendet, um eine Variable für eine Bedingungsanweisung zu definieren. (Wird ein Benutzerfeld geändert, werden alle Felder der betreffenden Variable im Dokument aktualisiert - sofern mehrfach im Dokument enthalten.)