Hallo Rainer, hallo Willem,
ja das Script funktioniert … aber nur mit "normalen" Skalierungswerten.
Wenn sie aus dem Rahmen fallen (z.B. x = 68, y = 70 oder x = 131, y = 128), dann erfolgt keine Reaktion. Der Fehler liegt in den beiden Zeilen …
---
if GroesseX < 70 then
if GroesseY < 70 then
---
Die erste Zeile fängt den zu kleinen x-Wert von 68 ab, aber weil der y-Wert in Ordnung ist, wird nicht eingeschritten. Das Script "glaubt", dass die Werte okay sind.
Man sollte deshalb die vier Vergleiche in eine einzige Befehlszeile packen. Immer mit dem Operatoren 'or' (= oder) dazwischen. Wenn nur ein Vergleich zutrifft wird die folgende Aktion ausgelöst.
Das eventuell notwendige Ändern der Bildgrösse und des Versatzes kann ebenfalls mit einem Einzeiler vorgenommen werden.
---
tell document 1 of application "QuarkXPress 4.11"
repeat with i from 1 to count of picture boxes
tell picture box i
tell image 1
set {y, x} to scale as list
set y to y as real
set x to x as real
if y < 70 or y > 130 or x < 70 or x > 130 then
set properties to {scale:{100, 100}, offset:{0, 0}}
end if
end tell
end tell
end repeat
end tell
---
Hans Haesler <hsa@ringier.ch>
als Antwort auf: [#418652]