ich bin gestern bei meiner Suche auf das Skript "SeitenzahlEinfuegen_401d.js" gestoßen. Es ist genau das, was ich suchte. In CS3 funktioniert es auch hervorragend. In CS5 werden allerdings nur die Rahmen erstellt, die Seitenzahl wird nicht hinein kopiert. Könnte mir bitte jemand helfen, das Skript für CS5 anzupassen?
Hier das Skript, wie ich es verwendet habe:
Ich sollte vielleicht noch dazu sagen, dass ich von Skripten nur so viel verstehe, dass ich sie speichern und anwenden kann. Es ist auch mein erster Beitrag den ich schreibe obwohl ich mich schon eine ganze Weile mir das Forum zu nutzen mache, und auch schon viele wertvolle Lösungen hier gefunden habe. Danke dafür an alle!
Hallo, Carola! Ohne jetzt dem lieben Hans in den Rücken fallen zu wollen, auf die Schnelle die Anpassung an InDesign CS5 (oder CS5.5):
Ändere folgende Zeile:
in:
//EDIT: Die Forensoftware hatte wieder zugeschlagen und den b-Anfangs-Tag für Fettstellung mit in den Code geschrieben. Jetzt ist der Code hoffentlich fehlerfrei. //EDIT 2: Ja, so stimmen die Zeilen… ***** Mit herzlichem Gruß, Uwe Laubender
(Dieser Beitrag wurde von Uwe Laubender am 19. Okt 2011, 13:56 geändert)
der liebe Uwe hat Dir die kleine Änderung, welche für CS5 notwendig ist schon durchgegeben. Das hatte ich beim ersten Durchlesen auch gedacht, hatte aber keine Zeit mehr zu testen, ob diese Änderung genügt.
Nachstehend nun der gesamte Code. Drei zusätzliche Änderungen: 1. Dank 'hasOwnProperty("baseline")' (anstelle von 'constructor.name == "InsertionPoint")') sind ausser dem Curser noch alle anderen Textauswahlmöglichkeiten erfasst. 2. Dein Wunsch zum Zuweisen eines Objektformats ist umgesetzt. 3. Am Schluss wird das Ende der Aktion verkündet.
danke schön, das ist prima und genau das was ich brauche. Folgende Zeile habe ich noch geändert, um die Rahmen am Seitenanfang zu haben (habe ich mir von hier abgeschaut: "http://www.hilfdirselbst.ch/foren/_P454757.html".
das Script war auch mir sehr nützlich beim Einfügen von Seitenzahlen. Ganz toll! Bei der Ausführung in CS6 erhielt ich jedoch eine Fehlermeldung. In folgender Zeile sei das Objekt ungültig:
var insPoint = allFrames[f].texts[0].insertionPoints[0];
Funktionieren tut es aber eigentlich trotzdem. Womit könnte die Fehlermeldung zusammenhängen?
herzlich willkommen in der Skriptwerkstatt auf HDS! :-)
Also ... ich habe jetzt das erste Script (gepostet am 19. Oktober 2011 um 14.20 Uhr) sowie die Variante von Carola von 15.06 Uhr (in welcher ich die Zeile 33 gemäss ihrer Ankündigung änderte) mit CS6 ausgeführt. Ergebnis: Wie erwartet. Keine Fehlermeldung.
Fragen: – Hat das Script mit CS5 ohne Fehlermedung funktioniert? – In welcher Zeile hast Du das Speichern des Einfügepunktes geändert? – Ist das CS6-Dokument exakt gleich aufgebaut wie jenes von CS5?
Ich vermute, dass sich am Ende der Kette ein leerer Rahmen befindet ...
Denn bei einem leeren Textrahmen am Ende einer Textrahmenkette ist texts[0].insertionPoints[0] einfach nicht vorhanden. Nach einem kleinen Test mit einem solchen Objekt, kann ich nur feststellen, dass es einen try{}catch(e){}-Wickel braucht, um das abzufangen…
Ok. Was aber dann? In der Kette der Textrahmen soweit zurückgehen, bis Inhalt gefunden wird oder der erste Textrahmen erreicht ist und dann je nach Anzahl der leeren Textrahmen in der Kette eine passende Anzahl von (Text-)Rahmenumbruchzeichen einfügen, bevor die Seitenzahl eingesetzt wird?
Ja, ich denke, das sollte gehen. Testen werde ich's aber heute Nacht nicht mehr ;-) ***** Mit herzlichem Gruß, Uwe Laubender
Vielen herzlichen Dank für die schnelle Antwort. :) Nachdem ich den leeren Rahmen am Ende gelöscht hatte, kam keine Fehlermeldung mehr. Ich war mir als blutiger Anfänger unsicher, inwiefern eine neue Indesign Version möglicherweise Einfluss auf die Skripte hat.
Seitenangaben für leere Seiten brauche ich nicht. Ich versuche mir ein wenig zu helfen bei der Erstellung der PageList einer ePub-Datei. Schade, dass das nicht automatisiert aus InDesign funktioniert.