Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign Skriptwerkstatt » InDesign-Dateien schließen nach Bearbeitung nicht sofort

InDesign-Dateien schließen nach Bearbeitung nicht sofort

Jack.
Beiträge gesamt: 25

1. Feb 2016, 12:56
Bewertung:

gelesen: 951

Beitrag als Lesezeichen
Hallo zusammen,

ich habe mir einen Menüpunkt im InDesign angelegt, mit dem ich unzählige InDesign-Dateien öffne, bearbeite und ungespeichert schließe. Wenn er 10 InDesign-Dateien abarbeiten soll, bleiben diese trotz dem Befehl "myFile.close(SaveOptions.NO);" geöffnet und die InDesign-Dateien schließen sich erst wenn alle 10 InDesign-Dateien abgearbeitet sind. Das wird bei einer großer Anzahl von InDesign-Dateien sehr problemtisch.

Code
#target 'indesign-11.064' 

app.scriptPreferences.userInteractionLevel = UserInteractionLevels.NEVER_INTERACT;

// Neues Projekt erstellen
function neuesProjektFunction(){
var sourceFolder = Folder("//server/test");
var inddFiles = sourceFolder.getFiles("*.indd");

for(var i = 0; i < inddFiles.length; i++){
var selFile = File(inddFiles[i]);
var myFile = app.open(File(selFile), true);
myFile.close(SaveOptions.NO);
}
}

if(app.menus.item("Main").submenus.item("Export").isValid) app.menus.item("Main").submenus.item("Export").remove();

var neuesProjekt = app.scriptMenuActions.add("Neues Projekt erstellen...");
neuesProjekt.eventListeners.add("onInvoke", neuesProjektFunction, false);

var ExportMenu = app.menus.item("$ID/Main").submenus.add("Export");
var ExportSubMenu = ExportMenu.menuItems.add(neuesProjekt);



Wenn ich allerdings folgende Zeilen im ESTK oder als .jsx in der InDesign-Script-Palette starte, dann wird die geöffnete InDesign-Datei sofort nach dem "myFile.close(SaveOptions.NO);"-Befehl geschlossen.

Code
var sourceFolder = Folder("//server/test"); 
var inddFiles = sourceFolder.getFiles("*.indd");

for(var i = 0; i < inddFiles.length; i++){
var selFile = File(inddFiles[i]);
var myFile = app.open(File(selFile), true);
myFile.close(SaveOptions.NO);
}


Weiß jemand auf Anhieb ob ich hier einen Fehler gemacht habe?

Grüße

InDesign-Dateien schließen nach Bearbeitung nicht sofort

Martin Fischer
  
Beiträge gesamt: 12494

1. Feb 2016, 13:50
Bewertung:

gelesen: 928

Beitrag als Lesezeichen
Hallo Jack,

Für die Differenz habe ich (noch) keine Erklärung.

Allerdings ist mir eine Doppel-/Dreifachanweisung aufgefallen.
Mit dem Befehl getFiles() ermittelst Du File-Objekte.
Aus diesen File-Objekten machst Du ein weiteres File-Objekt (selFile) und dieses später nochmals zu einem weiteren File-Objekt (File(selFile).

Code
		var selFile = File(inddFiles[i]);  
var myFile = app.open(File(selFile), true);


Möglicherweise stört das nicht (wie Dein zweites Beispiel nahelegt), ist aber auch nicht ganz korrekt.
Laß mal die weiteren File-Deklarationen weg.

Viele Grüße
Martin


InDesign-Dateien schließen nach Bearbeitung nicht sofort

Jack.
Beiträge gesamt: 25

2. Feb 2016, 09:37
Bewertung:

gelesen: 784

Beitrag als Lesezeichen
Hallo Martin,

danke für deine Antwort, die Doppelung/Dreifachung habe ich entfernt. Mir war gar nicht bewusst, dass es so nicht sauber programmiert ist. :)

Im InDesign CS6 leider das gleiche Spiel, die Dateien werden erst geschlossen wenn for-Schleife durch ist. :(