Hallo an alle,
seit langem schau' ich hier wieder mal vorbei,
in der Hoffnung einen guten Rat für mein Problem zu bekommen.
Ich habe ein umfangreiches Script, das unter anderem Text in eine Box setzt und diesen dann formatiert. Formatiert wird nach vorhandenen Absatz- und Zeichenstilen. Ich hole mir also zuerst eine Referenz auf den vorhandenen Stil und weise dem Text dann diese Referenz zu. Damit das Ganze schneller geht, wird es mit "do script" ausgeführt.
Das funktioniert unter OS 10.51 mit XPress 6.52 wunderbar, funktioniert aber nicht mehr mit XPress 7.31! Die Fehlermeldung lautet:
„QuarkXPress“ hat einen Fehler erhalten: „«class CHSS» of character 2 of text 1 of «class TXTB» 1 of document "Projekt6"“ kann nicht als „«class CSSP» "test" of document 1“ gesetzt werden.
Ich habe mein Skript mal so weit reduziert, dass der Fehler noch zu beobachten ist, aber sonst nichts unnötiges mehr dabei ist. An dem reduzierten Skript kann man jetzt sehr schön erkennen, dass es funktioniert, wenn es mit "run" aufgerufen wird, mit "do script" kommt aber der Fehler.
Weil ich sehr schnell eine Lösung brauche, baue ich mein Skript jetzt erst mal so um, dass es zuerst "do script" probiert, und dann im Fehlerfall auf "run" zurückfällt. Falls aber jemand eine Idee hat, wie man das Problem besser umschiffen kann, wäre ich für jeden Rat sehr dankbar.
Gruß Peter
-- mit run aufgerufen, funktioniert es
run qxp
-- mit "do script" leider nicht!
tell application "QuarkXPress"
do script {qxp}
end tell
script qxp
tell document 1 of application "QuarkXPress"
if (count every text box) = 0 then
set myBox to make new text box at beginning ¬
with properties {bounds:{10, 10, 50, 50}}
set text of myBox to "XXXX"
end if
set myStyle to a reference to style spec "Normal"
set myCharStyle to a reference to character spec "Normal"
tell text box 1
tell text 1
set style sheet to myStyle
set character style of character 1 to myCharStyle
end tell
end tell
end tell
end script