[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt CS4-Script funktioniert nicht in CS5. Hilfe.

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

CS4-Script funktioniert nicht in CS5. Hilfe.

frickj
Beiträge gesamt: 2

2. Dez 2010, 13:09
Beitrag # 1 von 4
Bewertung:
(3091 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo

Nachdem ich schon einiges in diesem Forum mitgelesen habe, muss ich nun eine Frage stellen und hoffe, dass mir jemand weiterhelfen kann.

Letztes Jahr habe ich ein umfangreiches JavaScript für InDesign gschrieben und mit CS3 und CS4 angewendet. Nun habe ich einen anderen Computer (kein Admin-Recht im Gegensatz zu früher) mit CS5 und das Script wirft haufenweise Fehler zurück.

Fehler gibt es unter Anderem bei der Referenzierung con Feldnamen. Beispielsweise sollte folgender Code eigentlich eine Meldung ausgeben mit dem Textinhalt des Textfeldes "feld".

var myDocument = app.activeDocument;
var myPage = myDocument.pages.item(0);
var eingabe = myPage.pageItems.item("feld");
alert(eingabe.contents);

InDesign CS5 behauptet aber, dass das Objekt die Eigenschaft "contents" nicht unterstützt. Würde es aber, wenn ich bspsw. das Feld über seinen Index anspreche. Ich habe auch einen Workaround gebastelt, wo ich alle Felder über den Index anspreche, aber das funktioniert leider nur unendlich langsam und zweitens fehleranfällig.

Darum wäre ich froh, wenn mir jemand testen könnte, ob das zitierte Script bei ihm auf CS5 (Win) funktioniert und worans bei mir liegen könnte. Laut Scripting-Referenz ist die Ansprechung eines Elementes über das Scriptetikett auch bei CS5 möglich.

Vielen Dank und schöne Grüsse
Jürgen
X

CS4-Script funktioniert nicht in CS5. Hilfe.

Martin Fischer
  
Beiträge gesamt: 12691

2. Dez 2010, 14:11
Beitrag # 2 von 4
Beitrag ID: #458675
Bewertung:
(3076 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürgen,

itemByName() von pageItems funktioniert mit Einführung neuer Ebenenfunktionen in InDesign nicht mehr so wie früher. Es greift auf die name-Eigenschaft der Subebene zurück.

Hier ein Beispiel.

Mehr dazu in With CS5, some things have changed.


als Antwort auf: [#458662]
(Dieser Beitrag wurde von Martin Fischer am 2. Dez 2010, 14:18 geändert)

CS4-Script funktioniert nicht in CS5. Hilfe.

Hans Haesler
  
Beiträge gesamt: 5822

2. Dez 2010, 14:41
Beitrag # 3 von 4
Beitrag ID: #458683
Bewertung:
(3064 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürgen,

zwei Lösungen:
1. bestehende Dokumente können mit dem Script NameStattEtikett_501d.js "behandelt" werden.

Erhältlich hier http://www.fachhefte.ch / Link "JavaScripts" und je nach Plattform den "CS5"-Ordner öffnen.

Dieses Script kopiert die Etiketten ins Attribut "Name". Die kopierten Namen sind im Bedienfeld "Ebenen" sichtbar. Und Scripts, welche die Objekte per Etikett ansprechen, funktionieren wieder, ohne dass sie angepasst werden müssen.

2. Bei neuen, per Script erzeugten Objekten, kann man zum Benennen anstelle von label ganz einfach name benutzen.

Und wenn man die Namen manuell vergibt, dann kann man die Ebenen-Objekt-Namen ändern. Das ist allerdings mühsamer als mit dem Skriptetikett-Bedienfeld.

Gruss, Hans


als Antwort auf: [#458662]

CS4-Script funktioniert nicht in CS5. Hilfe.

frickj
Beiträge gesamt: 2

2. Dez 2010, 15:24
Beitrag # 4 von 4
Beitrag ID: #458689
Bewertung:
(3050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wow, vielen Dank für eure super Hilfe. Das Script funktioniert wieder in alter Frische. Mein Tag ist gerettet.

Vielen Dank nochmal, ohne euch wäre ich echt aufgeschmissen gewesen.


als Antwort auf: [#458683]
X