Hallo Markus,
das ist ein Bug in QuarkXPress 5. Er wurde anfangs Januar dieses Jahres von Glenn Kowalski mit einer Message an die AppleScript-Users-Mailingliste gemeldet. Sein "Fall" war aber weniger kompliziert und ich habe ihm damals zwei brauchbare Workarounds geliefert.
Hier der erste, angepasst an Deine Aufgabe. Der Absatz 3 der Textbox "box1" wird ausgewählt. Dann mit 'copy' in die Zwischenablage gegeben. Anschliessend wird in der Liste 'objRef' die Objektreferenz aller Passagen mit '"L O G O-Matinee" & return' festgehalten. Schliesslich geht eine Repeatschleife durch die Liste und setzt mit 'paste' den Inhalt der Zwischenablage an die gewünschten Stellen.
---
tell document 1 of application "QuarkXPress 5.01"
activate
set selection to paragraph 3 of text box "box1"
copy
set objRef to object reference of (every text of every story where it = "L O G O-Matinee" & return)
repeat with aRef in reverse of objRef
set selection to aRef
paste
end repeat
end tell
---
Weil ich annehme, dass Du ein Logo verankerst, habe ich den zweiten Workaround gar nicht angepasst. Er würde den Absatz 3 im XPress-Tags-Format exportieren. Und dabei geht bekanntlich eine Bildbox verloren. Wichtig: 'in reverse of' geht die Stories von hinten nach vorne durch. Sonst würden die Objekt-Referenzen schon nach dem ersten Ersetzen nicht mehr stimmen, weil die Anzahl Buchstaben ziemlich sicher nicht identisch sind.
Und mit QuarkXPress 6? Das "einfache" Kopieren, welches bei Kollege Kowalski nicht klappte, ist wiederhergestellt. Hingegen geht die 'every'-Konstruktion Deines Scripts nicht mehr. Mit XPress 5 kam Quark davon ab, diese praktische Kurzform in jedem Fall zu unterstützen. Man muss also vermehrt Wiederhol-Schleifen einsetzen.
Ich habe mit Quark 6 einige Varianten Deines Scripts ausprobiert, erlebte aber nur Abstürze. Ausser mit dem oben gezeigten Konstrukt, welcher zuverlässig funktionierte. Sogar die mit der 'do script'-Methode beschleunigte Version:
---
script copyPara
tell document 1 of application "QuarkXPress 6.0"
set selection to paragraph 3 of text box "box1"
copy
set objRef to object reference of (every text of every story where it = "L O G O-Matinee" & return)
repeat with aRef in reverse of objRef
set selection to aRef
paste
end repeat
end tell
end script
tell application "QuarkXPress 6.0"
activate
do script {copyPara}
end tell
---
Hans Haesler <hsa@ringier.ch>
als Antwort auf: [#418509]