Hallo Armin,
hier zunächst eine optimierte Fassung:
---
tell document 1 of application "QuarkXPress 4.11"
tell page 1
repeat with p from 1 to 15
set boxName to "tb" & p
make text box at end with properties {name:boxName, rotation:90, bounds:{96.4, 200.5, 102.4, 291.9}}
tell text box boxName
tell paragraph 1
set properties to {contents:"Testname-Bildername", font:"Helvetica", size:9, justification:centered}
end tell
end tell
end repeat
end tell
end tell
---
Statt bei jedem Umgang vier Mal die zeit- und speicherraubende "concatenation" '("tb" & (p as string))' vorzunehmen,
wird der Name der Box in die Variable 'boxName' geschrieben. Zudem ist die ebenfalls zeitraubende Verwandlung des
Zählers 'p' in einen String überflüssig, weil links davon "tb" schon eine Textkette ist. Und was man daran anhängt,
wird automatisch in dieses Format konvertiert. Die 'try / end try'-Konstruktion ist nur wegen der Zuweisung der
Schrift notwendig. Kann weggelassen werden, wenn man eingangs die Verfügbarkeit von "Helvetica" prüft.
Differenz beim Abspielen ab Skripteditor (auf einem G4/800): 82 ticks gegen 32 ticks (1 Sekunde zählt 60 ticks).
*****
Zum Problem mit der Version 5.01. Bereite manuell eine Box vor und plaziere sie dort wo Du die scriptgenerierten
Dinger erwartest. Dann führe dieses Script aus:
---
tell document 1 of application "QuarkXPress 5.01"
tell page 1
make text box at end with properties {bounds:{96.4, 200.5, 102.4, 291.9}}
end tell
end tell
---
Resultat: die erzeugte Box ist links und am Fuss der erwarteten Position aliniert. Wenn Du nun die Rotation auf 90°
änderst, dann schwingt die Box auf die Arbeitsfläche hinaus, ist nicht mehr auf Seite 1 und für das Script nicht
mehr ansprechbar.
Damit es mit QuarkXPress 5.01 auch klappt, müssen die Werte der 'bounds' so ...
... d.h. auf die Werte der unrotierten Box geändert werden. Warum dies umgestellt wurde weiss ich nicht.
Hans Haesler, hsa@ringier.ch