Variablendefinitionen einlesen (XLS/MDB)
ImportVariableData.fsi
Problembeschreibung
Variablen werden u.a. verwendet, um Begriffe, die in einem Projekt mehrfach vorkommen, einfach global aktualisieren zu können. Auch für Begriffe, die sich von Projekt zu Projekt ändern, werden sinnvollerweise Variablen verwendet (z.B. Produktname, Version oder Sachnummer).
Diese Variablen können bei Projektbeginn vom Redakteur relativ einfach in einem FrameMaker-Dokument geändert und über den Formatimport in alle Dokumente importiert werden.
Darüber hinaus werden in der Technischen Dokumentation Variablen häufig auch für Software-Begriffe verwendet, die von der Entwicklungsabteilung festgelegt werden (z.B. Displaytexte oder Menübegriffe). Dies gewährleistet, dass in der Dokumentation eines Geräts oder einer Software dieselben Begriffe wie in der Software verwendet werden.
Die Änderung solcher Variablendefinitionen ist mit dem FrameMaker-Formatimport nicht ohne weiteres möglich. Im Produktionsprozess erfordert die Einbindung der Begriffe aus der Entwicklung immer eine entsprechende Konvertierung und einen erweiterten Workflow.
Im Übersetzungsprozess liegen die übersetzten Software-Begriffe häufig bereits vor und werden von der Entwicklungsabteilung vorgegeben. Die Einbindung der übersetzten Begriffe in die FrameMaker-Dokumente ist vor allem bis FrameMaker 7 mit erweiterten Schwierigkeiten verbunden, da hier die codepage-spezifische Konvertierung der Unicode-Begriffe berücksichtigt werden muss.
Funktionsbeschreibung
Das Script erzeugt Variablenformate im aktuellen Dokument oder in allen Dokumenten des aktuellen Buchs anhand der Definitionen in der Datenquelle. Wenn die entsprechenden Variablenformate in den Dokumenten bereits vorhanden sind, wird die Variablendefinition aktualisiert.
Als Datenquelle können Microsoft Excel-Arbeitsblätter oder Microsoft Access-Tabellen dienen. Die Daten werden mithilfe einer dynamisch erzeugten
ODBC-Verbindung ausgelesen.
Das Script benötigt in einer Spalte der Tabelle den Namen (die ID) der Variablen. Dies muss nicht die erste Tabellenspalte sein, obwohl dies empfehlenswert ist. Die weiteren Spalten enthalten die Variablendefinitionen. Bei mehrsprachigen Daten enthält jede Tabellenspalte die Daten der jeweiligen Sprache.
Die Bezeichnung der ID-Spalte sollte ‘ID’ lauten. Ansonsten kann das Script die ID-Spalte nicht erkennen und zeigt einen Dialog zur Auswahl der ID-Spalte an.
Die Spaltenbezeichnungen müssen sich (bei Excel-Tabellen) in der ersten Reihe der Tabelle befinden.
Die Bezeichnung der restlichen Spalten ist nur dann von Bedeutung, wenn die Daten mit FrameMaker 7 oder früher eingelesen werden.
Nach Aufruf des Scripts muss die Datendatei ausgewählt werden.
Vermeiden Sie, die Datei zu diesem Zeitpunkt geöffnet zu haben (eine Excel-Datei darf zwar geöffnet sein, wenn aber hier ein Zelleninhalt aktuell bearbeitet wird, können die Daten von dem Script nicht ausgelesen werden).
Enthält eine Excel-Datei mehrere (befüllte) Arbeitsblätter, werden Sie zur Auswahl eines Arbeitsblatts aufgefordert.
Wenn die Tabelle keine ‘ID’-Spalte enthält, erscheint ein weiterer Dialog zur Auswahl der ID-Spalte mit den Variablennamen.
Wenn die Tabelle außer der ID-Spalte nur eine weitere Spalte enthält, erscheint kein weiterer Dialog. Ansonsten werden Sie zur Auswahl der gewünschten Spalte aufgefordert.
Die Einträge in der Liste und deren Reihenfolge entsprechen den Spaltenbezeichnern in der Tabelle.
Besonderheiten mit FrameMaker 7
FrameMaker 7 und frühere Versionen sind nicht unicode-fähig.
Deshalb müssen die unicode-codierten Begriffe der Datenquelle von dem Script in das codepage-orientierte FrameMaker-Encoding umgewandelt werden.
Wenn das Script die Sprache und somit die Codepage anhand des Spaltenbezeichners nicht identifizieren kann, werden Sie zur Zuordnung der entsprechenden Sprache aufgefordert.
Für eine automatische Identifikation der Sprache unter FM7 verwenden Sie einen der folgenden Einträge für die Spaltenbezeichner:
| de | deu | German | Deutsch |
| en-us | enu | English (US) | Englisch (US) |
| English, English US, USEnglish, US English, En, en | |||
| en-gb | eng | English (GB) | Englisch (GB) |
| British, English GB, GBEnglish, GB English | |||
| fr | fra | French | Französisch |
| French (France), Französisch (Frankreich) | |||
| fr-ca | frc | French (Canada) | Französisch (Kanada) |
| Canadian French, Kanada-Französisch, French Canadian | |||
| it | ita | Italian | Italienisch |
| pt | ptg | Portuguese | Portugiesisch |
| Portuguese (Portugal), Portugiesisch (Portugal) | |||
| pt-br | ptb | Portuguese (Brazil) | Portugiesisch (Brasilien) |
| Brazilian, Brasilianisch | |||
| es | esp | Spanish | Spanisch |
| Spanish (Spain), Spanisch (Spanien) | |||
| es-mx | esm | Spanish (Mexican) | Spanisch (Mexiko) |
| ca | cat | Catalan | Katalanisch |
| nl | nld | Dutch | Niederländisch |
| da | dan | Danish | Dänisch |
| fi | fin | Finnish | Finnisch |
| no | nor | Norwegian | Norwegisch |
| sv | sve | Swedish | Schwedisch |
| sq | sqi | Albanian | Albanisch |
| bs | bsb | Bosnian | Bosnisch |
| pl | plk | Polish | Polnisch |
| ro | rom | Romanian | Rumänisch |
| sr-lat | srl | Serbian (Latin) | Serbisch (lateinisch) |
| sr-cyr | srb | Serbian (Cyrillic) | Serbisch (kyrillisch) |
| sk | sky | Slovak | Slowakisch |
| sl | slv | Slovenian | Slowenisch |
| hr | hrv | Croatian | Kroatisch |
| cs | csy | Czech | Tschechisch |
| hu | hun | Hungarian | Ungarisch |
| tr | trk | Turkish | Türkisch |
| et | eti | Estonian | Estnisch |
| lv | lvi | Latvian | Lettisch |
| lt | lth | Lithuanian | Litauisch |
| el | ell | Greek | Griechisch |
| ru | rus | Russian | Russisch |
| bg | bgr | Bulgarian | Bulgarisch |
| uk | ukr | Ukrainian | Ukrainisch |
| mk | mki | Macedonian | Mazedonisch |
| be | bel | Belarusian | Weißrussisch |
| zh-hans | chs | Chinese (Simplified) | Chinesisch (vereinfacht) |
| zh-hant | cht | Chinese (Traditional) | Chinesisch (traditionell) |
| ja | jpn | Japanese | Japanisch |
| ko | kor | Korean | Koreanisch |
Voraussetzungen
- FrameMaker 6.0 oder höher
- FrameScript/ElmScript 4.1 oder höher
Hinweis
Das Script funktioniert mit strukturierten und unstrukturierten Dokumenten.



Klaus Müller
![[i]-frame ImportVariableData](typo3temp/pics/e64a1b45f2.png)
![[i]-frame ImportVariableData](fileadmin/content/images/Leistungen/FrameScript/i-frame/ImportVariableData3.png)
![[i]-frame ImportVariableData](fileadmin/content/images/Leistungen/FrameScript/i-frame/ImportVariableData4.png)