Hallo Zusammen
Ist es möglich in FrameMaker 10 ein fm Dokument der Version 8 zu speichern?
Mit ExtendScript und FrameScript ist das möglich (Constants.FV_SaveFmtBinary80 oder SaveFmtBinary80).
Aus der Applikation habe ich bei „Datei / Speichern unter…“ im Dialog bei „Save as type:“ aber nur FM 10 oder FM 9 zur Auswahl.
Lässt sich die Applikationen irgendwie um konfigurieren, dass man die Möglichkeit hat FM 8 Dokumente zu speichern?
Vielen Dank & freundliche Grüsse
Christian
Hallo Christian,
Mit ExtendScript und FrameScript ist das möglich (Constants.FV_SaveFmtBinary80 oder SaveFmtBinary80).
Haben Sie das erfolgreich versucht oder nur die Flags gefunden? Ich habe im Hinterkopf, dass das zumindest bei der Plugin-Programmierung (FDK) nicht funktioniert. Somit gehe ich davon aus, dass das auch mit ExtendScript nicht funktionieren wird.
Generell kann FM eigentlich nur eine Version zurückspeichern. Lasse mich hier gerne eines Besseren belehren.
Wenn das wider Erwarten funktionieren sollte, erstellen Sie ein kleines Script und hängen das Menü ins Start-Menü ein.
Aus meiner Sicht bleibt nur der Weg „Speichern als FM9“ öffnen in FM9 und speichern als FM8. Sinnvoller ist dabei sicherlich ein durchgängiger Einsatz von FrameMaker 10.
Schöne Grüße
Markus Wiedenmaier
--
Sie erhalten diese Nachricht, weil Sie Mitglied der Google Groups-Gruppe "frameusers-de" sind.
Für das Erstellen von Beiträgen in dieser Gruppe senden Sie eine E-Mail an
frameu...@googlegroups.com
Um sich von dieser Gruppe abzumelden, senden Sie eine E-Mail an
frameusers-d...@googlegroups.com
Für Nachrichten an den »Eigentümer« der Gruppe, senden Sie eine E-Mail an
frameuser...@googlegroups.com
Weitere Optionen finden Sie in dieser Gruppe unter
http://groups.google.com/group/frameusers-de?hl=de
Hallo,
> Aus meiner Sicht bleibt nur der Weg „Speichern als FM9“ öffnen in FM9 und speichern als FM8.
Der direkte Weg wäre eventuell über MIF, das sollte ohne FM9 als Zwischenschritt funktionieren.
Viele Grüße
Johannes
Hallo Zusammen
Vielen Dank für die Hinweise!
Das Speichern aus dem Skript (SaveFmtBinary80) scheint zu klappen. Bei meinen Tests hat der FrameMaker 8.0 solche Dokumente problemlos geöffnet.
Mit folgendem Skript habe ich eine passable Lösung:
var fileMenu = app.GetNamedMenu("FileMenu")
var saveAsCmd = app.GetNamedCommand("Save");
var newCmd=DefineCommand(1,"Save As fm 8.0" ,"Save As fm 8.0","")
fileMenu.AddCommandToMenu(newCmd)
newCmd.PrevMenuItemInMenu = saveAsCmd;
UpdateMenus();
function Command(cmd){
switch(cmd) {
case 1:
var file;
file = app.ActiveBook;
if (!file.ObjectValid()) {
file = app.ActiveDoc;
if (!file.ObjectValid()) {
Alert("No active document or book found", Constants.FF_ALERT_CONTINUE_NOTE);
}
}
var params = GetSaveDefaultParams();
var returnParamsp =new PropVals();
var i = GetPropIndex(params, Constants.FS_FileType);
params[i].propVal.ival =Constants.FV_SaveFmtBinary80;
file.Save(file.Name, params, returnParamsp);
break;
}
}
Was leider noch nicht klappt, ist, dass der neue Command gleich unter „Datei / Speichern“ erscheint. Der neue Eintrag kommt zu unterst im "Datei" Menu.
Mach ich da was falsch bei PrevMenuItemInMenu?
Vielen Dank & freundliche Grüsse
Christian
--
Hallo,
eigentlich sollte es genau so funktionieren. Im Datenbrowser wird als nächstes Command auch „Save as“ angezeigt. PreviousCommand ist aber invalid. Ein Bug!?
Wenn das überlebenswichtig ist, kann ich folgenden schnellen Workaround dazu anbieten:
DefineCommand(1,"CmdSaveAsFM8" ,"Save As fm 8.0","")
UpdateMenus();
Den Rest Menüs betreffend aus dem Script rausschmeißen und die FM Konfiguration wie folgt anpassen:
Fminit/configUI/cmds.cfg
Am Ende der Datei folgendes einfügen:
<Command CmdSaveAsFM8
<Definition \x302>
<Mode All>>
Fminit/fmstruct/menus.cfg (Strukturierter FM) oder fminit/maker/menus.cfg (unstrukturierter FM)
Nach
<Add Save <Menu FileMenu>>
Folgendes einfügen
<Add CmdSaveAsFM8 <Menu FileMenu>>
PS: Ich empfehle Ihnen für die Script-Entwicklung folgendes kostenloses Plugin http://www.practice-innovation.de/wiki/SWATFMINSTALLSCRIPTS
Um die FM-Config werden Sie an der Stelle noch nicht herumkommen (dazu müsste ich das Plugin erweitern), aber Sie können auf die 1-11 in Ihrem Script verzichten und haben dadurch zudem die Möglichkeit die Funktion in der switch/case Anweisung zu debuggen, was mit Ihrem Script nicht geht. Zudem bietet es die Möglichkeit Ihre Skripte zentral auf einem Server zu verwalten.
Entfernen Sie wenn Sie das Plugin verwenden wollen die Zeilen 1-11 und am Ende die zugehörigen geschweiften Klammern und fügen Sie am Anfang folgende Zeilen hinzu:
//!NAME= CmdSaveAsFM8
//!LABEL= Save as fm 8.0
Folgen Sie im weiteren der Anleitung.
Schöne Grüße
Markus Wiedenmaier
Sehr geehrter Herr Wiedenmaier
Vielen Dank für den Workaround! Das geht Bestens!
Auch Danke für den Tipp mit dem Plug-In. Ich werde das mal noch genauer anschauen.
Vielen Dank & freundliche Grüsse
Christian Salm