[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Aufgabe für InCopy hinzufügen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Aufgabe für InCopy hinzufügen

Martin Fischer
  
Beiträge gesamt: 12783

16. Jan 2013, 09:14
Beitrag # 1 von 5
Bewertung:
(2130 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebe Kollegen,

beim Versuch, in einem InDesign-Dokument per Skript eine neue Aufgabe hinzuzufügen, beiße ich mir derzeit die Zähne aus.

Laut der Referenz lautet der Befehl zum Anlegen einer neuen Aufgabe folgendermaßen:

Assignment add (filePath: File[, versionComments: string][, forceSave: bool=false][, withProperties: Object])



Bei folgendem Codeschnipsel spukt mir der add()-Befehl einen Fehler aus.
Code
// (Voraussetzung ein geöffnetes gesichertes InDesign Dokument) 
var doc = app.activeDocument;
if (doc.textFrames.length == 0)
exit();
var tf = doc.textFrames.item(0);
var file_assignment = new File("~/Desktop/Test.inca");
var file_incopy = new File("~/Desktop/Test.incx");
var assignment_new = doc.assignments.add(file_assignment {name:'Testaufgabe'});

// ...


Die Fehlermeldung lautet wenig aussagekräftig: add

Ersetze ich im add()-Befehl den Dateipfad durch einen einfachen String, dann funktioniert das Anlegen der Aufgabe und die Zuweisung eines Inhalts an die Aufgabe.
Code
var assignment_new = doc.assignments.add("Test", {name:'Testaufgabe'}); 


Die InCopy-Datei "Test.icml" wird korrekt am angegebenen Pfad angelegt.
Aber die Aufgabe ist nicht im erhofften Pfad angelegt, sondern im "/Contents/Mac OS"-Ordner der InDesign.app ("/Applications/Adobe InDesign CS6/Adobe InDesign CS6.app/Contents/MacOS/Test").

Es sieht für mich aus, als ob der add()-Befehl einen Dateipfad (file-Objekt) erwarte, aber die Datei am angegebenen Pfad nicht anlegen kann.
Ist es ein Problem des Betriebssystems (Schreibrechte, aber warum bereiten dann id icml-Dateien keine Probleme?) oder was sonst könnte zum add-Fehler bei syntaktisch nach meinem Dafürhalten korrektem add()-Befehls mit Angabe des Dateipfads führen?

Getestet mit InDesign CS6 (8.0.1) und InDesign CS5 auf Mac OS X 10.8.2.

(Dieser Beitrag wurde von Martin Fischer am 16. Jan 2013, 09:33 geändert)
X

Aufgabe für InCopy hinzufügen

Martin Fischer
  
Beiträge gesamt: 12783

16. Jan 2013, 09:20
Beitrag # 2 von 5
Beitrag ID: #506901
Bewertung:
(2127 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Es ist verflixt.
Beim Schreiben meiner Frage ist mir am Ende eine Idee gekommen und die scheint zu funktionieren.

Statt dem Pfad "~/Desktop/Test.inca" habe ich's mal einfach mit "~/Desktop/Test" (ohne Suffix) getestet. Und siehe da, es funktioniert!

Es funktioniert auch mit "~/Desktop/Test.txt" oder "~/Desktop/Test.incb", aber nicht mit "~/Desktop/Test.inca".

An was könnte es nun liegen, dass das Betriebssystem das Anlegen einer Datei mit der Endung ".inca" verweigert?


als Antwort auf: [#506900]
(Dieser Beitrag wurde von Martin Fischer am 16. Jan 2013, 09:32 geändert)

Aufgabe für InCopy hinzufügen

Martin Fischer
  
Beiträge gesamt: 12783

16. Jan 2013, 09:40
Beitrag # 3 von 5
Beitrag ID: #506904
Bewertung:
(2110 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das Problem sitzt vor dem Bildschirm.

Die korrekte Endung einer InCopy CS6-Datei lautet .icma.

.inca ist eine ältere (CS3), von InDesign CS6 wohl nicht mehr unterstützte Version.

Jetzt funktioniert's.
Code
var doc = app.activeDocument;   
if (doc.textFrames.length == 0)
exit();
var tf = doc.textFrames.item(0);
var file_assignment = new File("~/Desktop/Test.icma");
var file_incopy = new File("~/Desktop/Test.incx");
var assignment_new = doc.assignments.add(file_assignment {name:'Testaufgabe'});


Aber wer verhinderte das Anlegen der Datei mit der Endung '.inca'?
InDesign oder das Betriebssystem?


als Antwort auf: [#506901]
(Dieser Beitrag wurde von Martin Fischer am 16. Jan 2013, 09:45 geändert)

Aufgabe für InCopy hinzufügen

strauch
Beiträge gesamt: 170

16. Jan 2013, 10:54
Beitrag # 4 von 5
Beitrag ID: #506908
Bewertung:
(2050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Teste doch mal eine andere Dateiendung die Indesign nicht unterstützt. Sowas wie .urks . Ich könnte mir vorstellen, das Indesign nichts anlegt, was es nicht unterstützt.
Wobei incb ist ja auch schon fiktiv....

Und Textdatei kennt Indesign ja auch. Aber wirklich wissen tu ich es nicht. Aber Betriebsystem oder auch Javascript selber sollte das ja egal sein.


als Antwort auf: [#506904]
(Dieser Beitrag wurde von strauch am 16. Jan 2013, 10:55 geändert)

Aufgabe für InCopy hinzufügen

Martin Fischer
  
Beiträge gesamt: 12783

16. Jan 2013, 12:11
Beitrag # 5 von 5
Beitrag ID: #506920
Bewertung:
(2017 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Strauch,

Antwort auf: Teste doch mal eine andere Dateiendung die Indesign nicht unterstützt.


Das hatte ich bereits getestet.
.gasche funktioniert z.B. auch.
Nur die alte InCopy Endung (von CS3) nicht.

Ich vermute inzwischen auch, dass es eher eine Zensur von InDesign ist, als eine Zensur auf Betriebsystemebene.


als Antwort auf: [#506908]
X