Hallo Thomas,
diese Frage ist vor einiger Zeit in
Gibt es eine Möglichkeit Textvariablen extern zu definieren? diskutiert worden.
Dort verweist Peter Kahrel auf sein Skript
variables.jsx.
Dort findet sich auch ein Verweis auf zwei InDesign CS3-Skripte im Premium-Forum, die ich nun hier anhänge. In CS4 und CS5 sind sie noch nicht getestet.
======================================
In <
Gibt es eine Möglichkeit Textvariablen extern zu definieren?> wurde die Möglichkeit angefragt, Textvariablen extern zu definieren und bei Bedarf einzulesen.
Hier eine Skriptstudie, die diese Aufgabe zu lösen versucht.
Voraussetzung: eine Textdatei, in der die benötigten Daten in folgender Struktur enthalten sind.
Beispiel (s. Anhang)
Das Skript prüft zunächst, ob sich in dem Verzeichnis, in dem es abgelegt ist, eine Datei 'config.txt', in welcher der Pfad zur Listendatei angegeben ist, findet.
Wenn nicht, dann wird der Pfad zur Listendatei über einen Dialog ermittelt und in einer neu angelegten 'config.txt' festgehalten.
Fortan ermittelt das Skript bei jedem Start den Pfad zur Listendatei mit den Defininitonen über diese config.txt. Bei Bedarf (Änderung des Pfads zur Listendatei) kann die config.txt einfach gelöscht werden.
Aus dieser Listendatei werden die Definitionen von Variablennamen und -inhalt ausgelesen.
Jeder Datensatz besteht aus einem Absatz und wird durch eine Absatzschaltung begrenzt.
Er besteht aus zwei Datenfeldern, die durch einen Doppelpunkt getrennt sind (siehe auch Anhang):
Existiert bereits eine Variable mit dem angegebenen Namen, wird diese verwendet und mit dem neuen Inhalt befüllt. Handelt es sich dabei nicht um den erwarteten Typ (benutzerdefinierter Text), erscheint eine Fehlermeldung - das Skript macht aber weiter.
Existiert diese Variable nicht, wird sie neu angelegt und dann mit dem Inhalt befüllt.
Und hier das Gegenstück zum Exportieren der Textvariablen mit benutzerdefiniertem Text:
Dieses Skript greift auf eine config.txt zurück (oder legt sie neu an), in welcher der Pfad zur Listendatei angegeben ist. Wenn beide Skripte im selben Verzeichnis sind, bedienen sie dieselbe Listendatei - rein und raus.