Sichern als MIF 8.0

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

3 Kommentare

  1. Winfried Reng
    Posted 25. Februar 2008 at 12:11 | Permalink

    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.

  2. Michael Müller-Hillebrand
    Posted 11. April 2008 at 10:34 | Permalink

    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:

    // Speichern als MIF mit FrameScript Version 5.1
    If (Session.VersionMajor = 8 )
     Save Document DocObject(vDocObject)  
      File(vNewFileName) FileType(SaveFmtInterchange80);
    ElseIf (Session.VersionMajor = 7)
     Save Document DocObject(vDocObject)  
      File(vNewFileName) FileType(SaveFmtInterchange70);
    Else // Version 6 und früher
     Save Document DocObject(vDocObject)  
      File(vNewFileName) FileType(SaveFmtInterchange);
    EndIf
    
  3. Klaus Müller
    Posted 19. Februar 2009 at 13:04 | Permalink

    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“.