Scripts, welche die Absätze einer ausgewählten Box adressieren, beginnen häufig so:
---
tell document 1 of application "QuarkXPress 4.11"
tell current box
tell story 1
repeat with i from 1 to count of paragraphs
---
Wenn sich die Textkette in einer einzigen Box befindet, dann ist dies kein Problem. Wenn sie aber durch
mehrere verkettete Boxen fliesst, dann muss unbedingt die erste Box der Kette ausgewählt sein, sonst
ergibt 'count of paragraphs' den Wert 0 (= Null) und das Script führt die gewünschten Aktionen nicht aus.
Wie kann man nun die erste Box der Kette auswählen? So:
---
tell document 1 of application "QuarkXPress 4.11"
tell current box
set selected of text box 1 of story 1 to true
---
Aber man muss auch sicherstellen, dass das Inhaltswerkzeug ausgewählt ist. Sonst sind mehrere Boxen ausgewählt
und eine Fehlermeldung wird angezeigt. Eingangs des Scripts muss man auch testen, ob überhaupt eine Box
selektiert ist und ob es eine Textbox ist. Und so werden aus den drei oder vier Zeilen schnell viel mehr.
Damit die Sache nicht zu lang wird, verzichte ich hier auf die Befehle, welche testen, ob ein Dokument offen
ist und ob nicht eine Musterseite angezeigt ist.
---
tell document 1 of application "QuarkXPress 4.11"
activate
if tool mode is not drag mode then set tool mode to drag mode
try
set boxType to box type of current box
on error
display dialog "Es ist keine Box ausgewählt." buttons "OK" default button 1 with icon 0
error number -128
end try
if boxType is group box type then
display dialog "Nur eine einzige Box auswählen." buttons "OK" default button 1 with icon 0
error number -128
else if boxType is not text box type then
display dialog "Bitte eine Textbox auswählen." buttons "OK" default button 1 with icon 0
error number -128
end if
set tool mode to contents mode
tell current box
set selected of text box 1 of story 1 to true
end tell
set tool mode to drag mode
tell current box
tell story 1
repeat with i from 1 to count of paragraphs
---
Zu Beginn wird das Objektwerkzeug ausgewählt. Dann wird der Boxentyp festgestellt. Wenn er 'group box type',
dann ist mehr als eine Box ausgewählt, wenn er nicht 'text box type' ist, dann ist keine Textbox ausgewählt.
Wenn alles in Ordnung ist, wird das Inhaltswerkzeug ausgewählt, die Auswahl der ersten Textbox aktiviert und
wieder zum Objektwerkzeug gewechselt (damit die Ausführung beschleunigt wird).
Hans Haesler, hsa@ringier.ch