Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign Skriptwerkstatt » Speichern unter Dialog

Speichern unter Dialog

Dr. Gonzo
Beiträge gesamt: 2999

11. Dez 2015, 13:30
Bewertung:

gelesen: 753

Beitrag als Lesezeichen
Hallo zusammen,

habe eine (hoffentlich) etwas dämliche Frage...

Ich möchte gerne den "Speichern unter" Dialog aufrufen, was ich auch hinbekomme, um danach auf dem vom Benutzer neu gespeicherten File weiter zu arbeiten.

Mir ist klar, dass ich mir selber einen Dialog erstellen könnte mittels ScriptUI, und dort schaffe ich auch was ich erwarte. In meinem konkreten Fall müsste ich aber den "offiziellen" Speichern unter Dialog aufrufen. Hoffe das reicht als Erklärung, sonst kann ich hier allenfalls noch ausholen :-).

Wie dem auch sei, das funktioniert soweit eigentlich wunderbar:

Code
_saveAs(); 

function _saveAs () {

var menuAction = 4; //speichern unter Menü
var menuItems = app.menuActions;

var dialog = menuItems[menuAction];
dialog.invoke();
}


Nun dachte ich es sollte so ungfähr in der Art wie mit einem eigenen Dialog (show) möglich sein eine weitere Funktion aufzurufen wenn OK zurück gegeben wird.

Code
    var dialogResult = dialog.invoke(); 

if (dialogResult == 1) {
_XXXX(); //Funktion _XXXX ausführen
}
else {
$.writeln('Vom Benutzer abgebrochen')
exit ();
}
}


Aber ich schaffe es nicht an die Information zu kommen ob der User jetzt OK oder Abbrechen klickt.
Irgendwo habe ich also im Snippet oben einen logischen Fehler, vermutlich geht das mit invoke so einfach nicht, oder?

Habe auch noch Infos zu EventListener gefunden, aber da bin ich auch nicht wirklich schlau draus geworden ohne jetzt ehrlich gesagt sehr viel Zeit zu investieren.

Vielen Dank für eure Hilfe und Erklärungen


Grüsse,
Dr. Gonzo

----------------------------------------------------------------------

"Der Duffman stirbt nie, nur der Schauspieler der ihn spielt..."

Speichern unter Dialog

Martin Fischer
  
Beiträge gesamt: 12502

11. Dez 2015, 14:59
Bewertung:

gelesen: 725

Beitrag als Lesezeichen
Hallo Gonzo,

Du könntest den Dialogaufruf in eine try-catch Klammer einschließen und ein Vorgehen bei einem Fehler angeben.

Z.B.
Code
_saveAs();  

function _saveAs () {
var menuAction = 4; //speichern unter Menü
var menuItems = app.menuActions;

var dialog = menuItems[menuAction];
try
{
dialog.invoke();
}
catch(e)
{
alert(e.message);
}
}


Viele Grüße
Martin



(Dieser Beitrag wurde von Martin Fischer am 11. Dez 2015, 15:01 geändert)