Um Dokumente mit FrameMaker 8 und FrameScript 5 im neuen Unicode-fähigen MIF-Format zu speichern, ist eigentlich folgender Befehl vorgesehen:
Save Document DocObject(vDocObject)
File(vNewFileName)
FileType(SaveFmtInterchange80);
Allerdings ist die neuen Konstante SaveFmtInterchange80
mit FrameScript 5.0R1 noch nicht verfügbar, wenn Sie stattdessen den Wert 15 verwenden, klappt es:
Save Document DocObject(vDocObject)
File(vNewFileName)
FileType(15);
Mit dem nächsten Update wird es auch mit der Konstante funktionieren.
[Update] Alle neuen Konstanten sind:
- SaveFmtBinary70 = 12
- SaveFmtBinary80 = 13
- SaveFmtInterchange70 = 14
- SaveFmtInterchange80 = 15
Hallo Herr Müller-Hillebrand,
vielen Dank für diese Informationen. Damit konnte ich
das Skript FM2MIF2FM.fsl von Klaus Müller entsprechend
anpassen, so dass jetzt alle FrameMaker-Dateien entweder
als MIF 7 oder MIF 8 gespeichert werden können.
Wie angekündigt, werden alle genannten Konstanten von Version 5.1 korrekt unterstützt. Sie können die Lesbarkeit Ihrer Skripte also entsprechend verbessern. Um nun ein Skript für alle Bedürfnisse zu haben, muss nur einen Versionsweiche vorgeschaltet werden:
Tja: Und unter FrameMaker 9 gibt es offensichtlich keine Möglichkeit mehr, Dokumente als MIF8 zu speichern. Das ist an sich nicht allzu dramatisch, Anpassungen in den Scripts sind aber dennoch nötig.
Leider reicht es nicht aus, allein die FrameMaker-Version abzufragen, da auch eine ältere FS-Version mit einer neueren FM-Version eingesetzt sein könnte.
Man sollte immer außer der FM-Version auch die FS-Version und zusätzlich die FdkVersion abfragen, um sicherzustellen, dass eine Funktion verfügbar ist (wobei FdkVersion wiederum erst seit 5.1 verfügbar ist …).
Für FrameMaker 9 ist der FileType zum Speichern „SaveFmtInterchange90“.