Hallo Checky,
in Deinem InDesign-Dokument ist im Bund der Doppelseiten ein Bildrahmen plaziert, welcher 20 mm
breit und so hoch wie die Seiten ist. Der Inhalt des Rahmens soll auf jeder neuen Arbeitsfläche
um einen Millimeter nach oben verschoben werden (und nicht um 0,1 mm nach unten, oder?).
Damit die gewünschten Bildrahmen in der richtigen Reihenfolge adressiert werden können, ist es
am besten, wenn man sie benennt. Dazu benutzt man die Palette "Scriptbezeichnung", welche im
gleichen Fenster wie die Scripts-Palette untergebracht ist.
Vorgehen: Den Bildrahmen auswählen, in der Palette das Wort Streifen eintippen und mit der
Enter-Taste bestätigen. Nicht mit Return, sonst ist dieser auch im Namen enthalten und das Script
funktioniert nicht.
Dieses Benennen kann man mit jeder Box des ganzen Dokuments durchführen. Man könnte die Box aber
auch auf der Musterseite plazieren, dort benennen. Dadurch ist die benannte Box schon auf jeder
Arbeitsfläche. Damit sie aber dem Script zugänglich ist, muss der Bezug zur Musterseite aufgehoben
werden. Entweder mit Befehl-Umschalt-Klick auf eine Box nach der anderen. Oder mit folgendem Script:
---
tell application "InDesign CS"
activate
tell document 1
repeat with i from 1 to count of pages
try
override page item "Streifen" of page 1 of master spread 1 destination page page i
end try
end repeat
end tell
end tell[color=pink]
[/color]
---
Jetzt ist das Dokument bereit für das Script, welches den Streifen nach oben wandern lässt.
Der Rahmen der ersten Seite wird nicht beachtet. Zuerst holt das Script die 'geometric bounds'
(= die Position) des Bildes, welches im Bildrahmen "Streifen" der zweiten Arbeitsfläche
(= 'spread 2') enthalten ist. Die vier Werte (oben, links, unten, rechts) werden in die
Variablen {y1, x1, y2, y2} gegeben.
Dann geht es in eine Wiederholungsschleife. Die vertikalen Werten 'y1' und 'y2' werden bei
jedem Umgang um 1 verringert und alle vier werden dem aktuellen Bildrahmen zugewiesen.
---
tell application "InDesign CS"
activate
tell document 1
tell spread 2
try
tell (page item 1 whose label is "Streifen")
set {y1, x1, y2, x2} to geometric bounds of graphic 1
end tell
on error
display dialog "Kein Bildrahmen »Streifen« auf der zweiten Arbeitsfläche." buttons ¬
"OK" default button 1 with icon 0
error number -128
end try
end tell
repeat with i from 2 to count of spreads
set y1 to y1 - 1
set y2 to y2 - 1
tell spread i
try
tell (page item 1 whose label is "Streifen")
set geometric bounds of graphic 1 to {y1, x1, y2, x2}
end tell
end try
end tell
end repeat
end tell
display dialog "Fertig." buttons "OK" default button 1 with icon 1
end tell
---
Nun hoffe ich, dass es auch bei Dir funktionieren wird.
Gruss, Hans
als Antwort auf: [#420118]